【发布时间】:2013-03-27 14:24:04
【问题描述】:
这是一个简单的问题,但我找不到任何参考,所以就在这里。
假设我有一个选择元素:
<select id="sel">
<option value="1">1</option>
<option value="2">2</option>
</select>
现在我想获取其选定选项的value。我经常看到这种 sn-p 被使用:
var sel = document.getElementById('sel');
console.log( sel.options[sel.selectedIndex].value ); //1
效果很好。但是,我发现select 元素也有一个 value 属性:
console.log( sel.value ); //1
请参阅fiddle 的两个示例。
第二种形式不仅简单得多,而且可以一直使用到 IE6(是的,我确实对此进行了测试,这里是 IE6 friendly version)。
第一种方法被广泛接受有什么原因吗?第二种方法是否存在一些不兼容或极端情况问题?
ps。我的“最常用方法”论文主要基于个人经验,但作为参考,Get selected value in dropdown list using JavaScript? 中最受好评的两个答案使用了第一种方法。
【问题讨论】:
-
选择多个值时会发生什么?
-
@PaulS。我懂了。
value返回第一个选定选项的值。您可以在答案中使用它。 -
@FabrícioMatté,当您忽略极端情况时,询问极端情况的问题不是一个好主意。
-
@zzzzBov 好吧,我的错,让我们考虑多个值。
标签: javascript dom selectedvalue