空白选项添加到选择顶部,并使其在IE中选择选项
问题描述:
<select id="dropdown">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
的jQuery:
$("#dropdown").prepend("<option value='' selected='selected'></option>");
当我在Firefox或Chrome运行此,下拉有新插入的空白选项被选中。当我在IE8中运行它时,它仍然选择了沃尔沃。有任何想法吗?
答
更改它此,它会工作:
$("#theSelectId").prepend("<option value=''></option>").val('');
看来,IE只评估selected
属性时,第一次遇到select
。
答
尝试:
$("#dropdown").prepend(new Option('', '', true, true));
$("#dropdown option:first").attr("selected", "selected");
或者,如果你喜欢:
$("#dropdown").prepend("<option value=''></option>");
$("#dropdown option:first").attr("selected", "selected");
使用第一个选项是稍微更快。空白引号表示空白值和空白文本,因此可以根据需要填写它们。您不需要预先选择的属性,现在我们在之后添加它们。这与Internet Explorer不相关,因为它只是刚创建时才被识别为被选中。
+0
谢谢,这工作。 – wkm
答
我不知道为什么你的代码不能正常工作(也许它是与事实,即在IE浏览器,selectedIndex
是只读的),但是,这样做在IE:
$("#dropdown").prepend("<option value='' selected='selected'></option>");
$("#dropdown")[0].options[0].selected = true;
+0
谢谢,这工作。 – wkm
谢谢,这工作。 – wkm
这将设置val为空。删除我最初拥有的任何选定项目 –
@HarryBosh - ......这正是OP所要求的。 –