jquery从div输入改变无线电值

时间:2013-11-27 17:06:33

标签: javascript jquery html

我需要将一个数字除以3个不同的数字,之后我需要将该值赋予单选按钮。这是我的代码。我有脚本从单选按钮捕获值但不更改它。

   //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 for division:

    $("#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 个答案:

答案 0 :(得分: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());
})

答案 1 :(得分: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,然后将其添加到单选按钮的值。