0

これが私のコードです-

var obj = $('[id$=ddlInsert4]')
obj.disable = true;

objはドロップダウンリストですが、disable呼び出しはドロップダウンリストを無効にしません。

alert(obj.val()) //this returns the correct value

アラートが正しい値を返しているので、jQuery構文が正しいことがわかります。私は何が欠けていますか?

4

2 に答える 2

5

以下のように使用してみてください.prop

$('[id$=ddlInsert4]').prop('disabled', true);

上記のようなjQuery.prop関数を使用できます

また

$('[id$=ddlInsert4]')jqueryオブジェクトを返します(セレクターは常にjQueryオブジェクトの配列を返します)ので、そのようなjQueryオブジェクトにDOMプロパティを設定することはできません。

ループで反復し、プロパティexを設定する必要があります。$('[id$=ddlInsert4]')[i].disabled = trueここiで、はインデックスです。

于 2012-05-10T21:26:16.527 に答える
2

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メソッドを使用することをお勧めします。これは、すべての要素をループするためです。

于 2012-05-10T21:27:25.097 に答える