通常我$("#id").val()
用来返回选定选项的值,但是这次不起作用。所选标签具有 idaioConceptName
html代码
<label>Name</label>
<input type="text" name="name" />
<select id="aioConceptName">
<option>choose io</option>
<option>roma</option>
<option>totti</option>
</select>
通常我$("#id").val()
用来返回选定选项的值,但是这次不起作用。所选标签具有 idaioConceptName
html代码
<label>Name</label>
<input type="text" name="name" />
<select id="aioConceptName">
<option>choose io</option>
<option>roma</option>
<option>totti</option>
</select>
对于下拉选项,您可能需要这样的东西:
var conceptName = $('#aioConceptName').find(":selected").text();
之所以val()
不起作用,是因为单击一个选项不会更改下拉列表的值——它只是将:selected
属性添加到作为下拉列表子项的选定选项。
为每个选项设置值
<select id="aioConceptName">
<option value="0">choose io</option>
<option value="1">roma</option>
<option value="2">totti</option>
</select>
$('#aioConceptName').val()
不起作用,因为.val()
返回了value
属性。要使其正常工作,value
必须在每个<option>
.
现在你可以打电话$('#aioConceptName').val()
而不是:selected
其他人建议的所有这些巫术。
我偶然发现了这个问题,并开发了一个更简洁的 Elliot BOnneville 答案版本:
var conceptName = $('#aioConceptName :selected').text();
或一般:
$('#id :pseudoclass')
这为您节省了额外的 jQuery 调用,一次性选择所有内容,并且更加清晰(我的意见)。
试试这个的value...
$("select#id_of_select_element option").filter(":selected").val();
或者这对于文本...
$("select#id_of_select_element option").filter(":selected").text();
如果您处于事件上下文中,则在 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
});
编辑
正如PossessWithin所提到的,我的回答只是回答这个问题:如何选择选定的“选项”。
接下来,要获取选项值,请使用option.val()
.