我是新手的jQuery,并努力解决一个问题,即当一个主复选框检查时,我试图禁用许多复选框。
我有一个包含 1 个主要复选框和 3 个辅助复选框的表单。当主复选框被选中时,所有其他辅助复选框都被禁用,但默认情况下必须处于选中状态。并且当未选中主要复选框时,所有其他被禁用的辅助复选框都将变为启用并且必须全部选中。默认情况下,当用户到达表单时:必须选中主要复选框,因此必须选中并禁用其他 3 个复选框。
这是我的代码:
<s:checkbox id="primary_CB" name="primaryCB" value="true"/>Primary checkbox
<s:checkbox cssClass="secondary_CB" name="secondary_CB1"/>Secondary checkbox1
<s:checkbox cssClass="secondary_CB" name="secondary_CB2"/>Secondary checkbox2
<s:checkbox cssClass="secondary_CB" name="secondary_CB3"/>Secondary checkbox3
我的 JQuery 代码:
$('#primary_CB').click(function () {
if ($(this).attr('checked')) {
$(".secondary_CB").attr('disabled', 'disabled');
} else {
$(".secondary_CB").removeAttr('disabled');
}
});
但是我的代码以奇怪的方式工作,当我第一次在表单上时,所有 4 个复选框都被选中,没有一个被禁用。只有当我取消选中/再次选中禁用功能的主要复选框时。此外,当再次禁用时,所有辅助复选框都会自动取消选中。
有人可以帮忙吗?