如果它是空的,如何检索空的OPTION值?

时间:2011-04-08 17:48:22

标签: javascript forms select validation option

考虑到我们有这个HTML:

<select id="my_select">
  <option value="1">Foo</option>
  <option value="2">Bar</option>
  <option value="">Bork</option>
  <option value="3">Hey!</option>
</select>

获取所选value的正确方法是:

var oS = document.getElementById("my_select");
alert(oS.options[oS.selectedIndex].value);

但如果选择第三个选项Bork,则alert()将显示"Bork"而不是""(空字符串)。 如何检索空字符串?

TYIA

2 个答案:

答案 0 :(得分:7)

首先,它没有。对我来说,在Chrome和IE8中,您的示例会提醒空字符串(jsFiddle)。

但是,如果根本没有设置valuejsFiddle),则会提醒Bork。我认为,这是你遇到的问题。这是正确的行为。正如the MDC page所说,

  

如果未定义,则其默认值为元素的文本内容。

但是,您可以使用getAttribute方法,如果未选择任何元素,则null会提供var oS = document.getElementById("my_select"); alert(oS.options[oS.selectedIndex].getAttribute('value'));

{{1}}

答案 1 :(得分:0)

alert(document.getElementById(“my_select”)。value)

返回空字符串或所选选项的任何已定义值。

无需指定选项[selectedIndex]

如果没有默认选择的索引,则返回第一个选项值。

如果所选选项没有值属性,

在大多数浏览器的脚本提醒中都会返回选项的文本

并在所有浏览器中发送到服务器(如果select具有名称和表单操作)。