Check Checkbox Disabled (Jquery)

风流意气都作罢 提交于 2019-12-22 04:00:13

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!