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

当前回答

试试这个价值…

$("select#id_of_select_element option").filter(":selected").val();

或者这个用于文本…

$("select#id_of_select_element option").filter(":selected").text();

其他回答

试试这段代码::)

得到的值:

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

得到文本:

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

你可以这样调试:

console.log($('#aioConceptName option:selected').val())

为每个选项设置值

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

$('#aioConceptName').val()不起作用,因为.val()返回value属性。要使其正常工作,必须在每个<option>上设置值属性。

现在你可以调用$('#aioConceptName').val()而不是这一切:选择巫毒是由其他人建议。

也可以使用jQuery.val()函数来选择元素:

.val()方法主要用于获取表单元素的值 如输入,选择和文本区域。对于选择元素,它 返回null,当没有选择任何选项时,返回一个包含 当至少有一个并且是时,每个所选选项的值 可以选择更多,因为存在多个属性。

$(函数() { $(“#aioConceptName”).on(“change”, function() { $(“#debug”).text($(“#aioConceptName”).val()); }).trigger(“change”); }); <script src=“https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js”></script> <select id=“aioConceptName”> <option>选择io</option> <option>罗马</option> <option>托蒂</option> </select> <div id=“debug”></div>

只有一种正确的方法来查找所选的选项-按选项值属性。就拿这段简单的代码来说:

//find selected option
$select = $("#mySelect");
$selectedOption = $select.find( "option[value=" + $select.val() + "]" );
//get selected option text
console.log( $selectedOption.text() );

如果你有一个这样的列表:

<select id="#mySelect" >
  <option value="value1" >First option</option>
  <option value="value2" >Second option</option>
  <option value="value3" selected >Third option</option>
</select>

如果您使用所选属性作为选项,那么find(“:selected”)将给出不正确的结果,因为所选属性将永远停留在选项中,即使用户选择了另一个选项。

即使用户选择第一个或第二个选项,$("select option:selected")的结果也会给出两个元素!因此$("select:selected").text()会给出类似First option Third option的结果

所以使用值属性选择器,不要忘记为所有选项设置值属性!