0

jQueryを使用してすべてを選択し、リストを無効にしているIE8の複数選択で問題が発生しています。リストは無効になっていますが、選択されておらず、リスト全体が選択されて無効になっているFireFoxでも同じシナリオが完全に機能しています

IEでこの問題を処理する方法を教えてください

前もって感謝します

以下は私のコードです:

<select name="weekdays" id="weekdays" disabled="disabled" multiple>
  <option value="Monday">Monday </option>
  <option value="Tuesday">Tuesday</option>
  <option value="Wednesday">Wednesday</option>
  <option value="Thursday">Thursday </option>
  <option value="Friday">Friday</option>
  <option value="Saturday">Saturday</option>
  <option value="Sunday">Sunday</option>
</select>
4

2 に答える 2

1

方法 :

$('select:disabled');

また :

$('select[disabled=true]'); // [disabled*=true] 

また :

$('select').find('*[disabled=true]');
于 2012-08-30T03:34:18.677 に答える
0

さて、これが私がそれを行う方法です:

$("#weekdays option").prop("selected",true);

あなたが示しているhtmlがすでにあるとすれば、disabled="disabled"それを無効にするためにjQueryが必要な理由はわかりませんが、選択を無効にしてすべてのオプションを選択する必要があります。

$("#weekdays").prop("disabled",true).find("option").prop("selected",true);

これは IE7 で機能します。テストするIE8がありません。

更新:おそらく問題は、選択した値が送信されていないことです。無効化されたフォーム要素は送信されません。これに対する一般的な回避策は、隠し入力を作成して必要な値を保持することです。しかし、FFがこのルールを守らないとは驚きです。

于 2012-08-30T03:33:20.330 に答える