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

当前回答

你可以使用$("#drpList").val();

其他回答

读取select对象的值(而不是文本):

var status = $("#Status").val();
var status = $("#Status")[0].value;
var status = $('#Status option:selected').val();

如何禁用选择? 在这两个变量中,value可以使用以下命令更改:

A

用户无法与下拉菜单进行交互。他不知道还有什么其他选择。

$('#Status').prop('disabled', true);

B

用户可以在下拉菜单中看到选项,但所有选项都是禁用的:

$('#Status option').attr('disabled', true);

在这种情况下,$("#Status").val()只适用于小于1.9.0的jQuery版本。所有其他变体都可以工作。

如何更新一个禁用的选择?

从后面的代码中,您仍然可以更新您选择的值。仅对用户禁用:

$("#Status").val(2);

在某些情况下,你可能需要触发事件:

$("#Status").val(2).change();

你可以使用$("#drpList").val();

我无意中发现了这个问题,并将埃利奥特·博纳维尔的答案简化为:

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

或一般:

$('#id :pseudoclass')

这节省了额外的jQuery调用,在一个镜头中选择所有内容,并且更加清晰(我的观点)。

JQuery:

如果你想要得到选定的选项文本,你可以使用$(select element).text()。 var text = $('#aioConceptName选项:selected').text(); 如果你想要得到选定的选项值,你可以使用$(select element).val()。 var val = $('#aioConceptName选项:selected').val(); 确保在<option>标签中设置value属性,如: <选择id = " aioConceptName " > <option value="">choose io</option> . <选项值=“罗马(值)" >罗马(文本)< /选项> <选项值= "托蒂(值)" >托蒂(文本)< /选项> < /选择>

在这个HTML代码示例中,假设选择了最后一个选项:

Var text会给你totti(text) Var val会给你totti(value)

美元(文档)。(“改变”,“# aioConceptName”功能(){ var val = $('#aioConceptName选项:selected').val(); var text = $('#aioConceptName选项:selected').text(); $ (' .result ')。text("Select Value = " + val); $ (' .result ')。append("<br>Select Text = " + Text); }) < script src = " https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js " > < /脚本> <选择id = " aioConceptName " > <选项值= " io(值)“>选择io > < /选项 <选项值=“罗马(值)" >罗马(文本)< /选项> <选项值= "托蒂(值)" >托蒂(文本)< /选项> < /选择> < p class = "结果" > < / p >

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