【问题标题】:reset a select element重置选择元素
【发布时间】:2012-02-26 20:31:37
【问题描述】:

如何选择第一个选项?我试过了,但没有用:

  selectElement.options[0].selected=true;

它给了我这个错误:

   Uncaught TypeError: Cannot read property '0' of undefined

更新

解决了!通过正确定义 selectElement。

【问题讨论】:

  • 你是如何定义selectElement的?
  • 这是我的错。我觉得自己好傻。 selectElement 指的是元素的值而不是元素本身。感谢您的提示。

标签: javascript dom


【解决方案1】:

试试这个

document.getElementById('mySelect').selectedIndex = 0;

【讨论】:

  • 这就是方法!简单得多,并且使用 select 元素的内置方法。
【解决方案2】:

试试这个(见demo

HTML

<select id="selectElement">
    <option>First</option>
    <option selected>Second</option>
</select>

JavaScript

selectElement.options[0].selected="selected";

或者你可以selectElement.options[0].selected=true;

希望这对你有用。

【讨论】:

  • “不要使用option.select = true”?你大错特错了。 HTMLOptionElement::selectedboolean 属性,而不是布尔属性。这是有利的,因为使用布尔值会将属性中的正确值(在本例中为:selected)映射到相应的属性。
  • 我在 HTML 的上下文中引用它。请参考HTML <option> selected Attribute
  • HTML 属性和 DOM 属性是非常不同的东西。有关HTMLOptionElement::selected 的更多信息,请参阅此链接:w3.org/TR/DOM-Level-2-HTML/html.html#ID-70874476
  • 澄清一下:HTMLOptionElement::selected 不会映射到属性。 HTMLOptionElement::defaultSelected 不过,会的。
猜你喜欢
  • 2018-10-26
  • 1970-01-01
  • 1970-01-01
  • 2017-01-18
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多