选择不在IE9上动态设置的选项

时间:2015-02-02 10:18:40

标签: jquery internet-explorer-9

我已经查看了与此相关的所有答案,但仍然无法弄清楚。请帮忙。 我有一个jquery代码如下:

$('#DDPrimaryServiceLine').find('option:contains("' + rowData['Primary_Service_Line'] + '")').attr("selected", true);

rowData是从ajax到DB调用生成的。最初的select也是空的,它在运行时动态填充。默认情况下,它选择为null。

在运行时,下拉列表会在IE9中显示默认选定的空值,但在Google Chrome中效果非常好。

请建议。 (我试着写

$("#DDPrimaryServiceLine option:selected").removeAttr('selected');

我的代码也是如此。但是不起作用)

3 个答案:

答案 0 :(得分:0)

此处的解决方案是否有助于Best way to unselect a <select> in jQuery?

使用.prop(&#34;选择&#34;,false)代替.removeAttr()?

答案 1 :(得分:0)

我还需要查看你的html代码以查看错误的位置。检查此链接: ie9 select default value

答案 2 :(得分:0)

评论作为回答:

您应该设置val()的{​​{1}}而不选择select,但是如果您想要更改option的所选属性,请使用{{ 1}}而不是option。这将设置正确的内部值(并触发选择更改),而不仅仅是更改显示属性。

e.g。

prop()

attr()具有额外的优势,即返回的值不仅仅是字符串,如果属性为“1”,它将正确返回$('#DDPrimaryServiceLine').find('option:contains("' + rowData['Primary_Service_Line'] + '")').prop("selected", true); prop 布尔值真“或”假“。