1

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

有没有更好的办法 ?

4

5 回答 5

2

就如此容易:

$("#name > option:selected").text();

或者在纯 JavaScript 中:

var selEl   = ​document.getElementById("name")​​,
    selText = selEl.options[selEl.selectedIndex].innerHTML;

console.log(selText);
于 2012-12-10T00:02:56.510 回答
1

大概您正在使用 JQuery。你应该能够做到:

$("#name").children("[selected]").text();
于 2012-12-10T00:04:56.437 回答
1
$('option:selected', '#name').text();
于 2012-12-10T00:01:42.980 回答
0

你需要.selectedIndex像这样操作它的属性:

var node = document.getElementById( 'name' ), val;

node.onchange = function() {

    val = this[ this.selectedIndex ].value;

};

val将保存value当前选择的元素。

于 2012-12-10T00:02:23.653 回答
0

我会说$($('#name')[0].options[$('#name')[0].selectedIndex]).text();应该给你你想要的。至少,如果您放弃该.text位,它会返回一个引用所选选项节点的 jQuery 对象

于 2012-12-10T00:02:07.557 回答