jQuery:取消选中其他checkbox

我总共有6个checkbox(可能会在将来添加更多),我想只允许select一个,所以当用户检查任何其他应该取消选中。

我试着用这个代码,工作正常,如果我定义的ID,但现在只是想知道如何使它反之亦然,所以在将来如果我添加更多不会是一个问题

$('#type1').click(function() { $('#type2').not('#type1').removeAttr('checked'); }); 

仅供参考,checkbox不是兄弟姐妹,并在不同的<td>

绑定change处理程序,然后取消选中所有checkbox,除了选中的选项:

 $('input.example').on('change', function() { $('input.example').not(this).prop('checked', false); }); 

这是一个小提琴

你可以使用所有的checkbox,并做:

 $(".check_class").click(function() { $(".check_class").attr("checked", false); //uncheck all checkboxes $(this).attr("checked", true); //check the clicked one }); 

尝试这个

  $(function() { $('input[type="checkbox"]').bind('click',function() { $('input[type="checkbox"]').not(this).prop("checked", false); }); }); 

尝试这个

 $("[id*='type']").click( function () { var isCheckboxChecked = this.checked; $("[id*='type']").attr('checked', false); this.checked = isCheckboxChecked; }); 

为了使它更通用,你也可以通过在其上实现的通用类来findcheckbox。

改性…

当涉及到布尔属性时,我认为prop方法更方便。 http://api.jquery.com/prop/

 $('.cw2').change(function () { if ($('input.cw2').filter(':checked').length >= 1) { $('input.cw2').not(this).prop('checked', false); } }); $('td, input').prop(function (){ $(this).css({ 'background-color': '#DFD8D1' }); $(this).addClass('changed'); });