JQuery单选按钮值检查

时间:2011-08-04 04:50:11

标签: javascript jquery

我需要从隐藏字段中显示的一组单选按钮中选择“是”的数量。

我有一个包含多组单选按钮的表单。

第一台收音机:

    <input type="radio" name="number_of_sets_to_count" id="number_of_sets_to_count_1" value="1">
    <input type="radio" name="number_of_sets_to_count" id="number_of_sets_to_count_2" value="2">
    <input type="radio" name="number_of_sets_to_count" id="number_of_sets_to_count_3" value="3">
    <input type="radio" name="number_of_sets_to_count" id="number_of_sets_to_count_4" value="4">
    <input type="radio" name="number_of_sets_to_count" id="number_of_sets_to_count_5" value="5">

根据上面选择的值(即1,2,3,4,5),然后计算从单选按钮下面选择是的单选按钮。即如果在上面的单选按钮中选择2,则前两个单选按钮组需要检查是。如果选择4,则需要检查下面的前4个无线电设备是否为值。

这是接下来的五个电台

<input type="radio" name="set1" id="set1_no" value="no">
<input type="radio" name="set1" id="set1_yes" value="yes">

<input type="radio" name="set2" id="set2_no" value="no">
<input type="radio" name="set2" id="set2_yes" value="yes">

<input type="radio" name="set3" id="set3_no" value="no">
<input type="radio" name="set3" id="set3_yes" value="yes">

<input type="radio" name="set4" id="set4_no" value="no">
<input type="radio" name="set4" id="set4_yes" value="yes">

<input type="radio" name="set5" id="set5_no" value="no">
<input type="radio" name="set5" id="set5_yes" value="yes">


<input type="hidden" name="number_of_yes" value="">

感谢社区帮助,我有这个JQuery代码,用于计算表单中的yes数,并在提交时将数字放入隐藏文本框'number_of_yes'。

<script type="text/javaScript">
$(document).ready(function() {
  $("#yourFormsId").submit(function() {
         $('input[name="number_of_yes"]').val(
            $('input:checked[type="radio"][value="yes"]').length); 
  });
});
</script>

但是,这会检查所有选择的是,我需要将其限制为第一,第二,第三,第四或第五个无线电设备(即set1,set2,set3,set4,set5),具体取决于从number_of_sets_to_count无线电中选择的内容按钮(即1,2,3,4,5)。

由于

1 个答案:

答案 0 :(得分:2)

试试这个

    $(document).ready(function() {

$("input[name=number_of_sets_to_count]").click(function(){

  var radioBtns = $("input[id^='set']");

  //First set all the radio buttons to No
  radioBtns.filter("[value='no']").attr("checked", true);

  //Now set only the required radio buttons to yes
  radioBtns.filter("[value='yes']:lt("+parseInt($(this).val())+")").attr("checked", true);


});
  $("#yourFormsId").submit(function() {

      $('input[name="number_of_yes"]').val($('input:checked[type="radio"][value="yes"]').length); 
  });
});