使用jQuery获取下拉菜单选项的选定值

502

如何使用jQuery获取下拉框的选定值?
我尝试使用以下代码:

var value = $('#dropDownId').val();

var value = $('select#dropDownId option:selected').val();

但两者都返回空字符串。


3
这两个都应该可以工作。问题必须在其他地方(例如,该代码是否包含在 $(document).ready(... 块中?) - karim79
5
这句话的意思是:获取下拉菜单(drop down)中当前选中项(selected)的值(value),并将其赋给变量(var)“value”。翻译如下:var value = $('#dropDownId:selected').val(); -> 获取下拉菜单id为“dropDownId”中被选中的选项的值,赋给变量"value"。 - ant
4
不,$('#dropDownId').val(); 是获取下拉框选中值最简洁的方式。 - karim79
1
@shyam,你不需要在这个语句中使用select,因为ID对于文档是唯一的,当引用类时,你应该只使用标签名select#dropDownId option:selected - ant
可能是重复的问题:如何获取select->option标签的索引 - Chris Moschini
显示剩余2条评论
31个回答

3

对于所选文本,请使用:

value: $('#dropDownId :selected').text();

选定值使用:

value: $('#dropDownId').val();

3

你是否为选择元素提供了id属性?

<select id='dropDownId'> ...

你的第一条语句应该可以工作!

3

使用

$('#dropDownId').find('option:selected').val()

这应该可以工作 :)

2
您可以使用以下代码来实现此操作。
$('#dropDownId').val();

如果您想获取下拉列表选项的选定值。这个方法可以帮你实现。
$('#dropDownId option:selected').text();

2

试试这个:

 $('#dropDownId option').filter(':selected').text();     

 $('#dropDownId option').filter(':selected').val();

2
我知道这是老旧的资讯,但我认为我需要用更现代的答案来更新它。
$( document ).on( 'change', '#combo', function () {
var prepMin= $("#combo option:selected").val();
 alert(prepMin);
});

我希望您能够受到帮助。

2

html 中生成的下拉控件的 id 是动态的。因此,请使用完整的 id$('ct100_<您的控件id>').val(),这样可以正常工作。


2

或者如果你想尝试:

$("#foo").find("select[name=bar]").val();

我今天使用了它,表现良好。


2

要从下拉列表中获取jquery值,只需使用以下函数,发送id并获取所选值:

function getValue(id){
    var value = "";
    if($('#'+id)[0]!=undefined && $('#'+id)[0]!=null){
        for(var i=0;i<$('#'+id)[0].length;i++){
            if($('#'+id)[0][i].selected == true){
                if(value != ""){
                    value = value + ", ";
                }
                value = value + $('#'+id)[0][i].innerText;
            }
        }
    }
    return value;
}

1
这是有效的内容。
    var value= $('option:selected', $('#dropDownId')).val();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接