使用jQuery不在IE上设置下拉列表中的选定选项

时间:2014-06-19 20:01:35

标签: jquery html

我有两个动态创建的下拉列表,我试图设置默认"选择"使用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中运行吗?谢谢!

2 个答案:

答案 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中都有效。如果有人有更好的解决方案,请分享。谢谢!