使用jQuery获取在下拉列表中选择的当前值

时间:2011-02-02 11:51:29

标签: jquery

我的页面上有一组动态生成的下拉框。基本上我用jQuery克隆它们。现在我想捕获在更改事件的每个下拉列表中选择的值。

我尝试了类似这样的功能。

$('._someDropDown').live('change', function(e) {
            //debugger;
            var v = $(this);
            alert($(this + ':selected').val());
            alert($(this).val());
        });

我如何完成它?

11 个答案:

答案 0 :(得分:93)

获取所选选项的文本

$("#your_select :selected").text();

获取所选选项的值

$("#your_select").val();

答案 1 :(得分:60)

这就是你所需要的:)

$('._someDropDown').live('change', function(e) {
    console.log(e.target.options[e.target.selectedIndex].text);
});

对于新的jQuery使用on

$(document).on('change', '._someDropDown', function(e) {
    console.log(this.options[e.target.selectedIndex].text);
});

答案 2 :(得分:14)

$("#citiesList").change(function() {
    alert($("#citiesList option:selected").text());
    alert($("#citiesList option:selected").val());              
});

citiesList是选择标记的id

答案 3 :(得分:5)

检查出来 - >

获取文字

$("#selme").change(function(){
 $(this[this.selectedIndex]).text();
});

获取价值

$("#selme").change(function(){
 $(this[this.selectedIndex]).val();
});

答案 4 :(得分:4)

您可以尝试:

$("._someDropDown").val();

答案 5 :(得分:4)

要获取下拉(选择)元素的值,只需使用val()。

$('._someDropDown').live('change', function(e) {
  alert($(this).val());
});

如果您想要所选选项的文本,请使用:

$('._someDropDown').live('change', function(e) {
  alert($('[value=' + $(this).val() + ']', this).text());
});

答案 6 :(得分:3)

如果您想使用或其他变量访问您的选择

,这实际上更有效,并且在我看来具有更好的可读性
$('#select').find('option:selected')

事实上,如果我没记错的话,phpStorm将尝试自动更正其他方法。

答案 7 :(得分:3)

如果您想要当前所选值的索引。

$selIndex = $("select#myselectid").prop('selectedIndex'));

答案 8 :(得分:2)

试试这个......

$("#yourdropdownid option:selected").val();

答案 9 :(得分:2)

上面讨论的选项不起作用,因为它们不属于CSS规范(jQuery扩展名)。花了2-3天的时间挖掘信息,我发现从下拉列表中选择所选选项的文本的唯一方法是:

{ $("select", id:"Some_ID").find("option[selected='selected']")}

请参阅以下附加说明: 因为:selected是jQuery扩展名而不是CSS规范的一部分,所以使用:selected的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。要在使用时获得最佳性能:选择选择元素,首先使用纯CSS选择器选择元素,然后使用.filter(":selected")。 (复制自:http://api.jquery.com/selected-selector/

答案 10 :(得分:0)

您也可以使用:checked

$("#myselect option:checked").val(); //to get value

或如其他答案中所述

$("#myselect").val(); //to get value

$("#myselect option:checked").text(); //to get text