Jquery 将空白选项添加到“选择”的顶部,并使其成为IE中的选定选项

Jquery 将空白选项添加到“选择”的顶部,并使其成为IE中的选定选项,jquery,html,forms,Jquery,Html,Forms,HTML: 沃尔沃汽车 萨博 梅赛德斯 奥迪 jQuery: <select id="dropdown"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Au

HTML:


沃尔沃汽车
萨博
梅赛德斯
奥迪
jQuery:

<select id="dropdown">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
$(“#下拉列表”)。前置(“”);
当我在FireFox或Chrome中运行此功能时,下拉列表中选择了新插入的空白选项。当我在IE8中运行它时,它仍然选择了沃尔沃。有什么想法吗

试试:

$("#dropdown").prepend("<option value='' selected='selected'></option>");
或者,如果您愿意:

$("#dropdown").prepend(new Option('', '', true, true));
$("#dropdown option:first").attr("selected", "selected");
$(“#下拉列表”)。前置(“”);
$(“#下拉选项:第一”).attr(“选定”、“选定”);

使用第一个选项稍微快一点。空白引号表示空白值和空白文本,因此按需要填写。您不需要在前置中使用选定的属性,现在我们将在后面添加它们。这与internet explorer没有识别到它被标记为选中有关,因为它只是刚刚创建的。

我不知道为什么您的代码不工作(可能与IE中,
selectedIndex
是只读的这一事实有关),但是,在IE中执行此操作:

$("#dropdown").prepend("<option value=''></option>");
$("#dropdown option:first").attr("selected", "selected");
$(“#下拉列表”)。前置(“”);
$(“#下拉列表”)[0]。选项[0]。选定项=true;

将其更改为此,它将工作:

$("#dropdown").prepend("<option value='' selected='selected'></option>");
$("#dropdown")[0].options[0].selected = true;
$(“#theselected”).prepend(“”.val(“”);

IE似乎只在第一次遇到
select

$(“#id”)时计算
selected
属性;
$("#theSelectId").prepend("<option value=''></option>").val('');

prepend会将该选项添加到顶部,selected='selected'会将其选中。因为value='',所以它是空值选项。

这将把val设置为空。删除您最初选择的所有项目have@HarryBosh-…这正是OP所要求的。谢谢David Angulo的要求,请现在查看。
$("#id").prepend("<option value=' ' selected='selected'></option>");