我想使用复选框来模拟单选按钮的行为,这表示:
当一个复选框被选中时,所有其他同名的复选框(这里是选择器)都不会被选中
但是,如果我尝试做类似的事情:
$('body').delegate('.myradio', 'click', function(e) {
$('.myradio').prop('checked', false);
$(this).prop('checked', true);
});
这会触发change
事件两次。
如果我尝试添加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
事件也被调用两次。
有关信息,我所有的复选框都有唯一的 ID。
除了选中的复选框之外,禁用所有复选框的正确方法是什么?