web-dev-qa-db-ja.com

チェックボックスを無効にする(jquery)

目的は次のとおりです。
チェックボックスが無効になっている場合は、何もしません。
チェックボックスが有効でチェックされている場合、ボタンのスタイルを設定します。
これが私がこれまでに得たものです。

_ $(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()を試しました。どんな助けでも大歓迎です。

11
user1595357

disabled属性がtrueかどうかを確認する必要があります:.attr('disabled')

または、.is(':disabled')を使用してください。---


EDIT:したがって、.attrは現在、この用途には推奨されていません( http://api.jquery.com/attr/ を参照)。推奨される方法は次のとおりです。

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

これは現在でも機能していることに注意してください:

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

ここで試してください: https://jsfiddle.net/Robloche/phaqfrmj/

25
Rodolphe

また、これを使用してみることができます:

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

他の解決策(_.disabled_、.is(':disabled').attr('disabled').prop('disabled'))が無効になっていないかどうかを判断するために私にとっては機能します。