如何将复选框的数量限制为1

时间:2016-06-02 19:31:07

标签: javascript jquery html checkbox

所以我有一些复选框列表,所有这些都有一个稍微不同的单一检查类,最后一个数字表示它们所在的列表,因为我没有使用单选按钮。如果已经检查了该类中的另一个复选框,我将如何制作它以便无法检查同一类中的任何复选框?

由于

2 个答案:

答案 0 :(得分:2)

单击复选框时使用jQuery.not,您可以将该组中所有其他复选框的checked属性设置为false(意味着他们不会被选中) )。

$(function() {
    $(".myCheckboxInGroup1").on("click", function() {
        $(".myCheckboxInGroup1").not(this).prop("checked", false);
    });
});

示例:http://codepen.io/Gigabyte-Giant/pen/wWavZj

答案 1 :(得分:0)

function howtoreadresults(){
   var r = [];
   $('input[type=checkbox]:checked').each(function(i,o){
      r.push($(o).attr('group')+'='+$(o).val());
   });
   return r;
}

$('input[type=checkbox]').change(function(e){
   $('[group='+$(this).attr('group')+']:checked').not($(this)).prop('checked',false);
   console.log(howtoreadresults());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<input type='checkbox' group='cars' value='red' />
<input type='checkbox' group='cars' value='blue' />
<input type='checkbox' group='cars' value='green' />
<input type='checkbox' group='bike' value='red' />
<input type='checkbox' group='bike' value='blue' />
<input type='checkbox' group='bike' value='green' />