5

ドロップダウンリストが特定の値である場合、フォームの確認ボタンを無効にするjQueryを取得しようとしていますが、機能していないようです。

私はここでたくさんの投稿を読み、さまざまな方法を試しました。

現時点での私のコードは次のとおりです。

    <script>
       $(document).ready(function () {
       // Handler for .ready() called.
       $('#MoveToCompanyId').attr("disabled", true);

       $('#DeleteAll').live("click", function () {

           if ($(this).attr("value") == "True") {
                 $('#MoveToCompanyId').attr("disabled", true);
           } else {
                 $('#MoveToCompanyId').attr("disabled", false);
                 $('#confirm').attr("disabled", true);
                 $('#MoveToCompanyId').change(function () {
                     if ($("#MoveToCompanyId option:selected").text() != "---Select Company---") {
                    $('#confirm').removeAttr("disabled");
                    alert($("#MoveToCompanyId option:selected").text());
                }
                else {
                    $('#confirm').attr("disabled", true);
                    alert("I should be disabled!");
                }

            });
        }
        });
     });

    </script>

誰かがそれに関する問題を見ることができますか?

明確にするために、アラートが機能しているときに、正しいコードブロックに入ることがわかっています。動作していないのはボタンの無効化だけです。

敬具、

ガレス

4

3 に答える 3

10

使用する必要があります

prop('disabled',true)
prop('disabled',false)

jQuery 1.6以降を使用している場合は、propを使用する必要があります。

小道具についてもっと読む

プロパティは通常、シリアル化されたHTML属性を変更せずに、DOM要素の動的な状態に影響を与えます。例には、入力要素のvalueプロパティ、入力とボタンのdisabledプロパティ、またはチェックボックスのcheckedプロパティが含まれます。メソッドの.prop()代わりに、.attr()メソッドを使用して無効に設定し、チェックする必要があります。この.val()メソッドは、値の取得と設定に使用する必要があります。

于 2012-06-14T13:33:06.643 に答える
3

使用する必要があります

.attr('disabled', 'disabled')

コントロールを無効にし、

.removeAttr('disabled')

それを有効にします。

http://www.w3schools.com/tags/att_input_disabled.asp

于 2012-06-14T13:22:09.467 に答える
0

試す

 attr('disabled', 'disabled')  

それ以外の

attr("disabled", true);
于 2012-06-14T13:24:25.793 に答える