我有两个动态创建的下拉列表,我试图设置默认"选择"使用jQuery的选项。它在Chrome中完美运行,但我无法在IE9中使用它。
这是我迄今为止尝试的内容: JS
$("#dropdown").append($('<option>', {
value: 'All',
text: 'All'
})).prepend($('<option>', {
value: 'Select Fiscal Year',
text: 'Select Fiscal Year',
select: 'selected'
}));
$("#dropdownRO").prepend($('<option>', {
value: 'Select RO',
text: 'Select RO'
})).attr("selected", true).append($('<option>', {
value: 'All',
text: 'All'
}));
正如您所看到的,我为每个下拉列表尝试了不同的方法,以查看哪个工作正常。我也尝试使用.attr("selected", "selected")
,但也是如此。我有什么遗失可以让这个简单的东西在IE中运行吗?谢谢!
答案 0 :(得分:3)
在第一个块中,您设置了select
属性,该属性应为selected
。
$("#dropdown").append($('<option>', {
value: 'All',
text: 'All'
})).prepend($('<option>', {
value: 'Select Fiscal Year',
text: 'Select Fiscal Year',
selected: 'selected'
}));
在第二个区块中,您将.attr()
应用于$("#dropdownRO")
,而不是您要添加的<option>
(请检查括号)。它应该是:
$("#dropdownRO").prepend($('<option>', {
value: 'Select RO',
text: 'Select RO'
}).attr("selected", true)).append($('<option>', {
value: 'All',
text: 'All'
}));
我建议你坚持不懈地做这两件事。我只是展示了两种不同的写法。
答案 1 :(得分:0)
我能找到完成这项工作的唯一方法是在链的末尾添加.val('Selected RO');
:
$("#dropdown").append($('<option>', {
value: 'All',
text: 'All'}))
.prepend($('<option>', {
value: 'Select Fiscal Year',
text: 'Select Fiscal Year',
selected: 'selected'}))
.val('Select Fiscal Year');
$("#dropdownRO").prepend($('<option>', {
value: 'Select RO',
text: 'Select RO'}))
.prop("selected", true).append($('<option>', {
value: 'All',
text: 'All'}))
.val('Select RO');
现在它在Chrome和IE中都有效。如果有人有更好的解决方案,请分享。谢谢!