我已经查看了与此相关的所有答案,但仍然无法弄清楚。请帮忙。 我有一个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');
我的代码也是如此。但是不起作用)
答案 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
布尔值真“或”假“。