2013-11-27 37 views
-2

我需要在3個不同的數字中劃分一個數字,然後我需要將該值賦予單選按鈕。這是我的代碼。我有腳本來捕獲單選按鈕的值,但不能更改它。jquery從div輸入更改無線電值

//Radio And Div 
    <input type="radio" name=presets class="m" value=""> 
     <div id="choice_month" class="m"></div> 
    <input type="radio" name=presets class="q" value=""> 
     <div id="choice_quart" class="q"></div> 
    <input type="radio" name=presets class="y" value=""> 
     <div id="choice_year" class="y"></div> 

JQuery的除法:

$("#p").click(function() { 
    var num1 = $("input[id='amount']").val(), 
    num2 = $("input[id='m']").val(), 
    result = parseFloat(num1, 10)/parseFloat(num2, 10); 
mm = result.toFixed(2); 
    $(".m").text(mm);//Do stuff when the button is clicked. 
    var num3 = $("input[id='amount']").val(), 
    num4 = $("input[id='q']").val(), 
    result = parseFloat(num3, 10)/parseFloat(num4, 10); 
    mm = result.toFixed(2); 
    $(".q").text(mm); 
    var num5 = $("input[id='amount']").val(), 
    num6 = $("input[id='y']").val(), 
    result = parseFloat(num5, 10)/parseFloat(num6, 10); 
    mm = result.toFixed(2); 
    $(".y").text(mm); 
     }); 
+2

ID應該是唯一的,最好不是數字。另外,你的jQuery實際上並沒有使用HTML中使用的任何ID /類... – lifetimes

+1

你的ID中不能有空格;) – Moob

+0

你可以製作一個[JSFiddle](http:// jsfiddle。淨/)爲我們? – Moob

回答

1

我在你的代碼中丟了一點,所以製作了this DEMO。這是沒有風格的,但不會做你所問的。

$("#button").click(function() { 
    $("#amount").trigger("change"); 
}); 

$("#amount").change(function() { 
    var num1 = $("input[id='amount']").val(), 
     num2 = $("input[id='m']").val(), 
     num3 = $("input[id='q']").val(), 
     num4 = $("input[id='y']").val(), 
     result = 0; 

    result = parseFloat(num1, 10)/parseFloat(num2, 10); 
    $("#choice_m").text(result.toFixed(2)); 

    result = parseFloat(num1, 10)/parseFloat(num3, 10); 
    $("#choice_q").text(result.toFixed(2)); 

    result = parseFloat(num1, 10)/parseFloat(num4, 10); 
    $("#choice_y").text(result.toFixed(2)); 

    $("input[name='presets']:first").trigger("change");//trigger our on-change event in case the radio has been selected BEFORE the button was clicked. 
}); 

$("input[name='presets']").change(function() { 
    var id = "#choice_"+$("input[name='presets']:checked").attr("id"); 
    $("#result").val($(id).text()); 
}) 
+0

很乾淨。我試圖混合另一個額外的代碼。 – user1819551

0

請改變與ID類,因爲HTML的方式是不合法的(使用相同ID爲不同的元素)

<input type="radio" name="presets" class="m" value=""> 

你的div爲:

<div id="choice_month" class="m"></div> 

試試這個:當你點擊它

$('div').click(function() { 
    $('input[type=radio]').attr('value', $(this).attr('class')); 
} 

這將得到div的ID,然後添加到單選按鈕的值。

+2

我不明白這個答案。 – Moob

+0

我需要將class =「m」的值傳遞給無線電值。 – user1819551

+0

您可以在代碼中看到被點擊的'div'的類通過參數傳遞給'radio'按鈕的'value'。它只是改變元素的屬性值。它應該工作.. –