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

kun*_*mbi 1 javascript forms validation select 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>
Run Code Online (Sandbox Code Playgroud)

获得所选择的正确方法value是:

var oS = document.getElementById("my_select");
alert(oS.options[oS.selectedIndex].value);
Run Code Online (Sandbox Code Playgroud)

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

TYIA

lon*_*day 7

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

但是,如果根本没有value设置(jsFiddle),Bork则会发出警报.我认为,这是你遇到的问题.这是正确的行为.正如MDC页面所说,

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

但是,您可以使用该getAttribute方法,null如果没有选择任何元素,则会给出该方法(jsFiddle).

var oS = document.getElementById("my_select");
alert(oS.options[oS.selectedIndex].getAttribute('value'));
Run Code Online (Sandbox Code Playgroud)