这是最新的解决方案。
<form name="frmChkForm" id="frmChkForm">
<input type="checkbox" name="chkcc9" id="group1" />Check Me
<input type="checkbox" name="chk9[120]" class="group1" />
<input type="checkbox" name="chk9[140]" class="group1" />
<input type="checkbox" name="chk9[150]" class="group1" />
</form>
$(function() {
enable_cb();
$("#group1").click(enable_cb);
});
function enable_cb() {
$("input.group1").prop("disabled", !this.checked);
}
这里是使用 .attr()
和 .prop()
的详细说明。
jQuery 1.6+
使用新的 .prop()
函数:
$("input.group1").prop("disabled", true);
$("input.group1").prop("disabled", false);
jQuery 1.5及以下版本
.prop()
函数不可用,需要使用.attr()
。
要禁用复选框(通过设置disabled属性的值),请执行以下操作:
$("input.group1").attr('disabled','disabled');
通过完全删除属性来启用
$("input.group1").removeAttr('disabled');
任何版本的jQuery
如果您只处理一个元素,则始终最快的方法是使用 DOMElement.disabled = true
。使用 .prop()
和 .attr()
函数的好处在于它们会对所有匹配的元素生效。
// Assuming an event handler on a checkbox
if (this.disabled)
参考:如何使用jQuery设置复选框的选择状态?
$(this).change
。 - mcrumley.prop()
代替.attr()
。 - Reza Owliaei