1

selectedIndex位置0の要素テキストではなく、何も選択されていない場合に-1を返すことは可能ですか.

また、selectedIndex何も選択されていない場合でも 0 を返します。

<select id="qwe" name="qwe">
    <option>11</option>
    <option>22</option>
</select>   

document.someForm.qwe.value
//returns 11

$('#qwe option:selected').val()
//returns 11



<select id="qwe" name="qwe">
    <option selected="false">11</option>
    <option>22</option>
</select>   
$('#qwe option:selected').val()
//returns 11

<select id="qwe" name="qwe">
    <option selected="false">11</option>
    <option selected="false">22</option>
</select>   
$('#qwe option:selected').val()
//returns 22
4

4 に答える 4

2

デフォルトの最初のオプションを追加する必要はありません...次を使用.prop()して変更するだけですselectedIndex

$('#qwe').prop('selectedIndex', -1); 

デモ: http://jsfiddle.net/dirtyd77/j76yH/2/

ご不明な点がございましたら、お気軽にお問い合わせください。

于 2013-03-28T15:48:32.967 に答える
-1

次のステートメントを試してください。

if ($('#qwe option[selected="selected"]').val() === undefined) return -1;
于 2013-03-28T15:43:56.960 に答える
-1

これはどう?

    <select id="demo">
      <option value="-1">---</option>
      <option value="1">1</option>
      <option value="2">1</option>
    </select>

hexblot が言ったように、すべての選択ボックスには選択された値があります。いつも.. ;)

于 2013-03-28T15:43:12.117 に答える
-1

選択ボックスでは常に値が選択されている必要があります (デフォルトでは最初のオプション)。このような動作が必要な場合は、必要な値 (例: -1 ) を指定して空のオプションをリストの先頭に追加するだけです。

于 2013-03-28T15:37:05.093 に答える