如何获取所选选项的值(如显示值而非值=“”)

时间:2012-12-09 23:59:37

标签: javascript jquery html

我有一个选择,我正在尝试检索当前所选选项的显示值,我并不是指值=“”或.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个选项的文本。

有更好的方法吗?

5 个答案:

答案 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