如何在 IE9 中使用 JQuery 设置选择框的默认值?
Posted
技术标签:
【中文标题】如何在 IE9 中使用 JQuery 设置选择框的默认值?【英文标题】:How to set the default value of a select box using JQuery in IE9? 【发布时间】:2011-09-13 20:21:06 【问题描述】:我有以下选择框。
<select id="selId">
<option id='1' value='1'>1</option>
<option id='2' value='2'>2</option>
<option id='3' value='3'>3</option>
<option id='4' value='4'>4</option>
<option id='5' value='5'>5</option>
</select>
在 jquery 中,我正在执行以下操作以在选择框中选择值 2。:
...
$("select#selId").find("option#2").attr("selected", "selected");
...
相同的代码在 IE8 和 Firefox 中将选择框中的值设置为 2。 但它不适用于IE9。
我使用的是 JQuery 1.6.1 版本
【问题讨论】:
您使用的是哪个版本的 jQuery? v1.5.1 是support IE9 作为***浏览器的第一个版本。 【参考方案1】:不用设置selected
属性,只需使用.val("2")。
请看这里:jsFiddle
【讨论】:
请从 $('document') 中删除 '' 没有就是没有?为什么不? $(document).ready(function() );但不是 $('document').ready(function() );并且至少当我单击链接时,您的 jsfiddle 不起作用。一旦我删除'',它加载正常。【参考方案2】:换一个
$("select#selId").find("option#2").attr("selected", "selected");
进入这个
$("select#selId").find("option#2").attr("selected", true);
【讨论】:
【参考方案3】:无论如何,如果您想保持"SELECTED"
属性,这在 IE9 上运行良好
$("select#selId").find("option#2").attr("selected", true);
http://jsfiddle.net/cqENs/
【讨论】:
+1 不错的答案。一种更好的方法来实际维护属性。我实际上认为 val() 会在幕后做,但事实并非如此!【参考方案4】:您可以使用 val()
来设置选项 - 请参阅 Change the selected value of a drop-down list with jQuery
【讨论】:
以上是关于如何在 IE9 中使用 JQuery 设置选择框的默认值?的主要内容,如果未能解决你的问题,请参考以下文章
如何删除选择框的所有选项,然后添加一个选项并使用 jQuery 选择它?