我创建了一个函数来将我的复选框设置为单选按钮,此外还可以取消选择它们。我遇到的问题是,当第二次单击同一个框时(不是快速双击),它什么也不做,就像它没有捕捉到事件一样。
它们以两个为倍数,共享名称。
checkbox name 1
checkbox2 name 1
checkbox3 name 2
checkbox4 name 2 ....
这是我的功能,它运行良好,除了那个小故障。
$('#MyDiv').find('input[type="checkbox"]').click(function() {
if (!$(this).is(':checked')) {
$(this).prop('checked', false);
return;
}
$('#MyDiv').find('input[type="checkbox"][name=' + $(this).attr('name') + ']').each(function() {
$(this).prop('checked', false);
});
$(this).prop('checked', true);
});
html示例:
<div id="MyDiv">
<div>
<p>
<input id="MyDivUsage_Yes" type="checkbox" name="MyDivUsage" />
<label for="MyDivUsage_Yes">Yes</label>
<input id="MyDivUsage_No" type="checkbox" name="MyDivUsage" />
<label for="MyDivUsage_No">No</label>
</p>
</div>
</div>
出于某种原因,它不适用于 jsfiddle。