【问题标题】:JQuery Radio Button Value CheckJQuery单选按钮值检查
【发布时间】:2012-04-10 18:09:04
【问题描述】:

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

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

第一台收音机:

    <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 个单选机的 yes 值。

这是接下来的五台收音机

<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 代码,它可以计算表单中“是”的数量,并在提交时将数字放入隐藏的文本框“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>

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

谢谢

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    试试这个

        $(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); 
      });
    });
    

    【讨论】:

    • 你能在点击处理程序中提醒 this.value 吗?
    • :( 仍然无法正常工作,它仍然会检查所有单选按钮是否是...硬
    • 请检查我编辑的答案现在它工作正常。我在这里也放了一个小提琴link
    • 刚刚检查.. :( 仍然无法正常工作,检查小提琴,需要发生的是,如果 number_of_sets_to_count 是 3 唯一的 set1、set2 和 set3 需要检查是,但时刻他们都是.. 例如选择 number_of_sets_to_count 为 2 但全部是肯定的,它显示全部为是,而不仅仅是两个?清楚吗?
    • 在我提供的小提琴中,它正在按照您的预期工作,请仔细查看。
    猜你喜欢
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 2011-01-11
    • 2011-04-24
    • 1970-01-01
    相关资源
    最近更新 更多