通常我使用$(“#id”).val()来返回所选选项的值,但这一次它不起作用。 所选标记的id为aioConceptName

html代码

<label for="name">Name</label>
<input type="text" name="name" id="name" />

<label for="aioConceptName">AIO Concept Name</label>
<select id="aioConceptName">
    <option>choose io</option>
    <option>roma</option>
    <option>totti</option>
</select>

当前回答

如果你在事件上下文中,在jQuery中,你可以使用以下方法检索所选的选项元素: $(this).find('option:selected')如下所示:

$('dropdown_selector').change(function() {
    //Use $option (with the "$") to see that the variable is a jQuery object
    var $option = $(this).find('option:selected');
    //Added with the EDIT
    var value = $option.val();//to get content of "value" attrib
    var text = $option.text();//to get <option>Text</option> content
});

Edit

正如possession within所提到的,我的答案只是回答这个问题:如何选择所选的“选项”。

接下来,要获取选项值,使用option.val()。

其他回答

你考虑过使用普通的javascript吗?

var box = document.getElementById('aioConceptName');

conceptName = box.options[box.selectedIndex].text;

参见使用JavaScript获取一个选项文本/值

我也有同样的问题,我想知道为什么它对我的案子不起作用 html页面被划分为不同的html片段,我发现我有另一个输入字段携带相同的Id的选择,这导致val()总是空的 我希望这能拯救那些有类似问题的人。

试试这段代码::)

得到的值:

 $("#Ostans option:selected").val() + '.' + $("#shahrha option:selected").val()

得到文本:

 $("#Ostans option:selected").text() + '.' + $("#shahrha option:selected").text()
$('#aioConceptName option:selected').val();

如果有人发现最好的答案是行不通的。

试着使用:

  $( "#aioConceptName option:selected" ).attr("value");

在最近的项目中为我工作,所以值得一看。