使用get()检索select后,使用jQuery确定所选选项

时间:2011-06-30 02:32:18

标签: javascript jquery select

我使用get()来检索页面上的第一个选择下拉列表,如下所示:

styleSelect = jQuery('select').get(0);

我可以做正常的事情,比如

jQuery(styleSelect).remove();

要删除选择,但我无法找到正确的语法来获取当前所选选项的文本。我试过了:

jQuery(styleSelect, ':selected').text();

以及其中的几种变体,我想我在这里只是缺少一些愚蠢的东西。

4 个答案:

答案 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); 
});

http://jsfiddle.net/pCsF9/

正在使用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,则将获得所选选项的值而不是文本)