通常我使用$(“#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>

当前回答

获取所选标签的值:

 $('#id_Of_Parent_Selected_Tag').find(":selected").val();

如果你想获取文本,请使用以下代码:

 $('#id_Of_Parent_Selected_Tag').find(":selected").text();

例如:

<div id="i_am_parent_of_select_tag">
<select>
        <option value="1">CR7</option>
        <option value="2">MESSI</option>
</select>
</div>


<script>
 $('#i_am_parent_of_select_tag').find(":selected").val();//OUTPUT:1 OR 2
 $('#i_am_parent_of_select_tag').find(":selected").text();//OUTPUT:CR7 OR MESSI
</script>

其他回答

$('#aioConceptName option:selected').val();

对于下拉选项,你可能想要这样的东西:

对于选定的文本

var conceptName = $('#aioConceptName').find(":selected").text();

对于所选值

var conceptName = $('#aioConceptName').find(":selected").val();

val()没有做到这一点的原因是,单击一个选项并不会改变下拉列表的值——它只是将:selected属性添加到作为下拉列表子项的selected选项中。

简单明了:

你下拉

<select id="aioConceptName">
    <option>choose io</option>
    <option>roma</option>
    <option>totti</option>
</select>

Jquery代码获取所选值

$('#aioConceptName').change(function() {
    var $option = $(this).find('option:selected');

    //Added with the EDIT
    var value = $option.val(); //returns the value of the selected option.
    var text = $option.text(); //returns the text of the selected option.
});

您可以使用精确选择的选项进行选择: 下面将给出innerText

$("select#aioConceptName > option:selected").text()

而下面将给你价值。

$("select#aioConceptName > option:selected").val()

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

试着使用:

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

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