Check Checkbox Disabled (Jquery)

user1595357 picture user1595357 · Oct 10, 2012 · Viewed 45.7k times · Source

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.

Answer

Rodolphe picture Rodolphe · Oct 10, 2012

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/