通常我使用$(“#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#aioConceptName").change(function () {
           var selectedaioConceptName = $('#aioConceptName').find(":selected").val();;
           console.log(selectedaioConceptName);
        });

其他回答

我也有同样的问题,我想知道为什么它对我的案子不起作用 html页面被划分为不同的html片段,我发现我有另一个输入字段携带相同的Id的选择,这导致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();

对于良好的实践,您需要使用val()来获取所选选项的值,而不是text()。

<label>Name</label>
<input type="text" name="name" />
<select id="aioConceptName">
    <option value="choose">choose io</option>
</select>

你可以使用

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

Or

   $("#aioConceptName :selected").val();

Try

aioConceptName.selectedOptions[0].value

let val = aioconcepts . selecpick [0].value 控制台日志(selected珍惜:“瓦尔); < >标签名,< - >标签 <输入类型=“文本” 选择< id =“aioConceptName > < < / lo选项>选择选项> <罗马选项> < /选项> <选项> totti < /选项> 选择< - >

你应该使用这样的语法:

var value = $('#Id :selected').val();

所以试试下面的代码:

var values = $('#aioConceptName :selected').val();

你可以在Fiddle中测试:http://jsfiddle.net/PJT6r/9/

在这篇文章中看到这个答案