我有一个jquery脚本,它禁用一行中的所有复选框并将它们标记为已选中:
$(function() {
enable_cb();
$("#group1").click(enable_cb);
});
function enable_cb() {
if (this.checked) {
$("input.group1").attr("disabled", true);
$("input.group1").attr("checked", true);
} else {
$("input.group1").removeAttr("disabled","checked");
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的html小提琴:http://jsfiddle.net/3fksv/16/
我希望其余的复选框再次显示为活动状态,并在取消选中该复选框时取消选中.我的剧本中我做错了什么?
我不认为您可以像那样一次删除两个属性。您可能必须使用两次对该removeAttr()函数的调用-
$("input.group1").removeAttr("disabled");
$("input.group1").removeAttr("checked");
Run Code Online (Sandbox Code Playgroud)
正如@nickf正确提到的,这些命令也可以链接 -
$("input.group1").removeAttr("disabled").removeAttr("checked");
Run Code Online (Sandbox Code Playgroud)
checked并且disabled是属性,从jQuery 1.6开始,用于修改元素的属性,prop应该使用方法代替attr.
function enable_cb() {
$("input.group1")
.prop("disabled", this.checked)
.prop("checked", this.checked);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6759 次 |
| 最近记录: |