チェックボックスを使用してラジオボタンの動作をシミュレートしたいと思います。これは次のように述べています。
チェックボックスをオンにすると、同じ名前の他のすべてのチェックボックス (ここではセレクター) がオフになります
しかし、次のようなことをしようとすると:
$('body').delegate('.myradio', 'click', function(e) {
$('.myradio').prop('checked', false);
$(this).prop('checked', true);
});
change
これにより、イベントが 2 回トリガーされます。
追加しようとするとe.preventDefault
:
$('body').delegate('.myradio', 'click', function(e) {
$('.myradio').prop('checked', false);
$(this).prop('checked', true);
e.preventDefault();
});
イベントはまったくトリガーされず、チェックボックスはチェックされていません。
最後に、自分でイベントをトリガーしようとすると:
$('body').delegate('.myradio', 'click', function(e) {
$('.myradio').prop('checked', false);
$(this).prop('checked', true);
e.preventDefault();
$(this).change();
});
change
イベントも 2 回呼び出されます。
参考までに、私のすべてのチェックボックスには一意の ID があります。
チェックされているものを除くすべてのチェックボックスを無効にする適切な方法は何ですか?