【问题标题】:Changing select programmatically after enabling it doesn't work启用后以编程方式更改选择不起作用
【发布时间】:2011-12-05 22:53:06
【问题描述】:

我在使用 select 元素时遇到了一些问题。 我希望能够以编程方式更改选择的选项,并支持 IE6(那是坏人!)。 所以我所做的就是将 selectedIndex 设置为它应该是的值,现在需要注意的是,当控件被禁用时这不起作用,所以我启用它,然后尝试按此顺序更改 selectedIndex。控件已启用,但不会更改选择。

有人有什么建议吗?

我尝试使用以下代码更改索引:

this._select.attr('selectedIndex',index);

this._select.get(0).selectedIndex = index;

【问题讨论】:

  • 您能否发布您拥有的代码,以便我们查看您已经尝试过的内容。
  • 请发布您的代码,如果没有它,您的问题将毫无用处。您也可以尝试在jsfiddle.netjsbin.com 上设置一个小示例。
  • 代码太复杂,无法在此处发布,我已尝试隔离此问题但没有成功,因此问题不在于启用选择元素。但是如果我在启用和索引更改之间设置延迟,它会起作用,所以这很奇怪。
  • 我用我更好的理解创建了一个小提琴并在此处发布..jsfiddle.net/u5uhD。如果其他人更好地理解它,请更新此小提琴并在此处发布
  • 发布与此相关的 HTML 以及更多 Javascript 代码 - 知道何时以及在何种上下文中调用该代码会很有用。

标签: javascript jquery select internet-explorer-6


【解决方案1】:

您的代码对我有用,即使选择被禁用。为什么不使用this._select.val('3'); 来更改它?在任何情况下this._select.val('3')this._select.get(0).selectedIndex = index; 一样有效

在您的浏览器中检查您的错误控制台,您可能会遇到阻止整个脚本工作的错误。

【讨论】:

  • 因为我需要 IE6 支持。
猜你喜欢
  • 2015-12-21
  • 2014-06-25
  • 2012-07-21
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多