我有一个选择,我正在尝试检索当前所选选项的显示值,我并不是指值=“”或.val()
让我说这是我的选择
<select id="name" >
<option value="">select all</option>
<option selected="selected" value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
假设我正在尝试检索当前所选“文本1”的选定值
我试过
$('#name').text();
但是这会返回所有4个选项的文本。
有更好的方法吗?
答案 0 :(得分:2)
就这么简单:
$("#name > option:selected").text();
或者在纯JavaScript中:
var selEl = document.getElementById("name"),
selText = selEl.options[selEl.selectedIndex].innerHTML;
console.log(selText);
答案 1 :(得分:1)
$('option:selected', '#name').text();
答案 2 :(得分:1)
据推测,你正在使用JQuery。你应该能够做到:
$("#name").children("[selected]").text();
答案 3 :(得分:0)
我会说$($('#name')[0].options[$('#name')[0].selectedIndex]).text();
应该给你你想要的东西。至少,如果删除.text
位,它将返回引用所选选项节点的jQuery对象
答案 4 :(得分:0)
您需要像这样操纵其.selectedIndex
属性:
var node = document.getElementById( 'name' ), val;
node.onchange = function() {
val = this[ this.selectedIndex ].value;
};
val
将保留当前所选元素的value
。