jQuery添加空白选项顶部的列表,并select现有的下拉菜单
所以我有一个下拉列表
<select id="theSelectId"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select>
这是我想要的
<select id="theSelectId"> <option value="" selected="selected"></option> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select>
试图在之前添加一个空白选项并将其设置为此,希望强制用户从原始列表中select一个值,但希望在看到必须select的选项时为空。
尝试这个,但不工作
// 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>');
这工作:
$("#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");
解决scheme原生Javascript:
document.getElementById("theSelectId").insertBefore(new Option('', ''), document.getElementById("theSelectId").firstChild);
例如: http : //codepen.io/anon/pen/GprybL