65

合計 6 個のチェックボックスがあり (今後さらに追加される可能性があります)、1 つだけを選択できるようにしたいので、ユーザーがそれらのいずれかをチェックしたときに他のチェックボックスをオフにする必要があります。

私はこのコードを試してみましたが、ID を定義した場合は正常に動作しますが、効率的な方法でその逆を行う方法を考えているので、将来的に追加しても問題はありません

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

参考までに、チェックボックスは兄弟ではなく、別のものです<td>

4

7 に答える 7

182

ハンドラーをバインドしchange、チェックされているチェックボックスを除いて、すべてのチェックボックスをオフにします。

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

ここにフィドルがあります

于 2013-07-22T10:31:57.347 に答える
15

you could use class for all your checkboxes, and do:

$(".check_class").click(function() {
  $(".check_class").attr("checked", false); //uncheck all checkboxes
  $(this).attr("checked", true);  //check the clicked one
});
于 2013-07-22T10:20:00.320 に答える
5

これを試して

 $(function() { 
  $('input[type="checkbox"]').bind('click',function() {
    $('input[type="checkbox"]').not(this).prop("checked", false);
  });
});
于 2013-07-22T10:28:34.127 に答える
1

これを試して

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

さらに一般的なものにするために、実装された共通クラスによってチェックボックスを見つけることもできます。

変更された...

于 2013-07-22T10:22:39.367 に答える
0

boolean属性に関してはpropメソッドの方が便利だと思います。 http://api.jquery.com/prop/

于 2013-07-22T10:26:25.370 に答える