これが私のコードです-
var obj = $('[id$=ddlInsert4]')
obj.disable = true;
objはドロップダウンリストですが、disable呼び出しはドロップダウンリストを無効にしません。
alert(obj.val()) //this returns the correct value
アラートが正しい値を返しているので、jQuery構文が正しいことがわかります。私は何が欠けていますか?
これが私のコードです-
var obj = $('[id$=ddlInsert4]')
obj.disable = true;
objはドロップダウンリストですが、disable呼び出しはドロップダウンリストを無効にしません。
alert(obj.val()) //this returns the correct value
アラートが正しい値を返しているので、jQuery構文が正しいことがわかります。私は何が欠けていますか?
以下のように使用してみてください.prop
、
$('[id$=ddlInsert4]').prop('disabled', true);
上記のようなjQuery.prop
関数を使用できます
また
$('[id$=ddlInsert4]')
jqueryオブジェクトを返します(セレクターは常にjQueryオブジェクトの配列を返します)ので、そのようなjQueryオブジェクトにDOMプロパティを設定することはできません。
ループで反復し、プロパティexを設定する必要があります。$('[id$=ddlInsert4]')[i].disabled = true
ここi
で、はインデックスです。
obj
はjQueryオブジェクトであり、DOM要素ではありません。あなたがする必要があります$(obj).prop('disabled', true);
。obj
または、他の場所で変数が必要ない場合は、次のようにします。
$('[id$=ddlInsert4]').prop('disabled', true)
[0]
ネイティブDOM要素と対話するには、 (または)を実行できます.get(0)
。次に、次のことができます。
obj[0].disabled = true;
disabled
(プロパティはではないことに注意してくださいdisable
)
注:$('[id$=ddlInsert4]')
複数の要素を返すことができ[0]
、最初の要素を取得するだけです。複数ある場合は、それらすべてをループする必要があります。ただし、 jQuery.prop
メソッドを使用することをお勧めします。これは、すべての要素をループするためです。