检查复选框已禁用(Jquery)

时间:2012-10-10 14:20:56

标签: javascript checkbox client-side

目的是;
如果禁用复选框,则不执行任何操作 如果启用并选中了复选框,请设置按钮的样式 这是我到目前为止所得到的;

 $(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()。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:24)

您必须检查disabled属性是否为真:.attr('disabled')

或者,更好的是,使用.is(':disabled') .---


编辑:因此,.attr似乎已被弃用(参见http://api.jquery.com/attr/) 首选方式是:

$('#myCheckbox').prop('disabled')

必须指出的是,截至今天仍然有效:

$('#myCheckbox').is(':disabled')

在此处试试:https://jsfiddle.net/Robloche/phaqfrmj/

答案 1 :(得分:1)

你也可以试试这个:

$("#myCheckBox").is('[disabled]');

让我确定某个元素是否已被停用,而其他解决方案(.disabled.is(':disabled').attr('disabled').prop('disabled'))则不然。