【问题标题】:How to set the default value of a select box using JQuery in IE9?如何在 IE9 中使用 JQuery 设置选择框的默认值?
【发布时间】: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 作为顶级浏览器的第一个版本。

标签: jquery select internet-explorer-9 default-value


【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      • 2021-03-09
      • 2020-08-08
      • 2020-01-21
      • 1970-01-01
      • 2018-08-09
      • 2020-06-14
      相关资源
      最近更新 更多