我使用get()来检索页面上的第一个选择下拉列表,如下所示:
styleSelect = jQuery('select').get(0);
我可以做正常的事情,比如
jQuery(styleSelect).remove();
要删除选择,但我无法找到正确的语法来获取当前所选选项的文本。我试过了:
jQuery(styleSelect, ':selected').text();
以及其中的几种变体,我想我在这里只是缺少一些愚蠢的东西。
答案 0 :(得分:3)
jQuery('select').val()
应返回当前所选元素的值。
尽管如此,这确实会返回值。很少返回文本。
您可以使用以下内容执行此操作:
jQuery('#test').change(function() {
//get text(), change to .val() to get value
var value = jQuery(':selected', this).text();
//insert value
jQuery('h2 span').html(value);
});
正在使用html
<select name="test" id="test">
<option value="AA">AA</option>
<option value="MA">MA</option>
<option value="LA">LA</option>
<option value="GO">TEST</option>
</select>
<h2>selected:<span></span> </h2>
注意将.text()更改为.val()并选择最后一个选项以查看选择值和文本之间的区别。 .text()
应返回TEST,其中.val()
将返回GO
答案 1 :(得分:2)
这是适用于所有可编写脚本的浏览器的old-skool非jQuery版本:
var option = styleSelect.options[styleSelect.selectedIndex];
alert("Value: " + option.value + ", text: " + option.text);
答案 2 :(得分:0)
var styleSelect = $('select option:selected');
console.log(styleSelect.val());
将为您提供当前所选选项的值
答案 3 :(得分:0)
首先使用选择器,然后使用上下文:
jQuery(':selected',styleSelect).text();
matchew的建议也会起作用,但只有当你没有设置<option>
的值属性时
(如果设置了value-attributes,则将获得所选选项的值而不是文本)