目的是;
如果禁用复选框,则不执行任何操作
如果启用并选中了复选框,请设置按钮的样式
这是我到目前为止所得到的;
$(document).ready(function (e) {
$(".checkbox").live("click", function () {
if ($(this).hasAttribute('disabled')) {
return false;
}
var isAnyChecked;
$("input[type=checkbox]").each(function () {
var checkedValue = $(this).attr("checked");
if (checkedValue == "checked") {
isAnyChecked = true;
}
});
if (isAnyChecked) {
$("#<%= btnConfirm.ClientID %>").css("display", "block");
} else {
$("#<%= btnConfirm.ClientID %>").css("display", "none");
}
}); });
我已尝试.is(':disabled')
,.hasAttr()
,.prop()
和.attr()
。任何帮助将不胜感激。
答案 0 :(得分:24)
您必须检查 disabled
属性是否为真:.attr('disabled')
。
或者,更好的是,使用 .is(':disabled')
.---
编辑:因此,.attr
似乎已被弃用(参见http://api.jquery.com/attr/)
首选方式是:
$('#myCheckbox').prop('disabled')
必须指出的是,截至今天仍然有效:
$('#myCheckbox').is(':disabled')
答案 1 :(得分:1)
你也可以试试这个:
$("#myCheckBox").is('[disabled]');
让我确定某个元素是否已被停用,而其他解决方案(.disabled
,.is(':disabled')
,.attr('disabled')
,.prop('disabled')
)则不然。