2009-07-01 7 views
47

に選択しますこれに設定すると、元のリストから値を選択するようユーザーに強制したいが、選択しなければならないオプションが表示されたときに空白にしたい。jQueryのは、リストの最上部に空白のオプションを追加し、既存のドロップダウン

これをしようとしたが

// Add blank option 
var blankOption = {optVal : ''}; 
$.each(blankOption, function(optVal, text) { 
    $('<option></option>').val(optVal).html(text).preprendTo('#theSelectId'); 
}); 

を動作していないし、私はこれを試してみましたが、他の値

$('#theSelectId option').prependTo('<option value=""></option>'); 

答えて

112

これは働いてクリアされます。

$("#theSelectId").prepend("<option value='' selected='selected'></option>"); 

Firebugの出力:

<select id="theSelectId"> 
    <option selected="selected" value=""/> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
</select> 

あなたが順序を逆にしたい場合にも、.prependToを使用することができます。

​$("<option>", { value: '', selected: true }).prependTo("#theSelectId");​​​​​​​​​​​ 
+0

おかげで、私はprependToに思っていたのが、これは素晴らしい:) –

+0

これはprependToでも同様に動作します:$( "") .prependTo( "#theSelectId"); – tvanfosson

1

ソリューションネイティブのJavascript:

document.getElementById("theSelectId").insertBefore(new Option('', ''), document.getElementById("theSelectId").firstChild);

例:http://codepen.io/anon/pen/GprybL

+0

これは、前に位置0にあった 'option'のためにうまくいきません:http://codepen.io/paulroub/pen/xwgOEK –

+0

申し訳ありませんが、私は自分の投稿を編集しています。 – Snoozer

関連する問題