问题
The purpose is to;
If checkbox is disabled, do nothing.
If checkbox is enabled and checked, set the style of a button.
Here is what I've got so far;
$(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");
}
}); });
I've tried .is(':disabled')
, .hasAttr()
, .prop()
and .attr()
. Any help would be greatly appreciated.
回答1:
You have to check whether the disabled
attribute is true: .attr('disabled')
.
Or, better, use .is(':disabled')
.---
EDIT: So it seems that .attr
is now deprecated for this use (see http://api.jquery.com/attr/)
The preferred way is:
$('#myCheckbox').prop('disabled')
It has to be noted that this still work as of today:
$('#myCheckbox').is(':disabled')
Try it here: https://jsfiddle.net/Robloche/phaqfrmj/
回答2:
Also you can try use this:
$("#myCheckBox").is('[disabled]');
Works for me to determine if an element is disabled, while others solutions (.disabled
, .is(':disabled')
, .attr('disabled')
, .prop('disabled')
) not.
来源:https://stackoverflow.com/questions/12821650/check-checkbox-disabled-jquery