我需要获取所选的选项值,该值位于span标记内。
<span id ="resolutionSpan">
<select name="resolution" id="resolution">
<option value="0" selected >0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</span>
我试过了
var e = document.getElementById("resolution");
console.log( e.options[e.selectedIndex].text);
但是返回一个空值。我是否需要首先迭代跨度?
由于项目限制,我不能使用jquery。需要你在javascript中的评论
答案 0 :(得分:1)
获取.options
,然后.selectedIndex
,然后.text
。像这样:
var selected = document.getElementById('resolution').options[document.getElementById('resolution').selectedIndex].text
alert(selected);
&#13;
<span id ="resolutionSpan">
<select name="resolution" id="resolution">
<option value="0" selected >0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</span>
&#13;
希望这有帮助!
答案 1 :(得分:1)
我相信.text会选择标签。
如果您想要所选项目的值,请使用.value。
小提琴:http://jsfiddle.net/9wxqmLL1/
var e = document.getElementById("resolution");
console.log( e.options[e.selectedIndex].value);
答案 2 :(得分:1)
您的代码实际上非常接近,只需将.text更改为.value:
var e = document.getElementById("resolution");
console.log( e.options[e.selectedIndex].value);
除非你想获得该选项的实际内容(在这种情况下是相同的值,但仍然)
var e = document.getElementById("resolution");
console.log( e.options[e.selectedIndex].innerHTML);