如何使用jQuery获得下拉框的选定值? 我试着用

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

and

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

但两者都返回空字符串。


当前回答

$("#selector <b>></b> option:selected").val()

Or

$("#selector <b>></b> option:selected").text()

以上代码对我来说工作得很好

其他回答

var value = $('#dropDownId:selected').text()

应该工作得很好,请看这个例子:

$(文档)时函数(){ $ (' # button1 ') .click(函数(){ 警报($ #组合:选择)。text ()); }); }); < script src = " https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js " > < /脚本> <选择id = "组合" > <option value="1">Test 1</option> . </option> . <option value="2">Test 2</option> . </option> . < /选择> <input id="button1" type="button" value="点击!"/>

我知道这是一个非常老的帖子,我可能应该为这个可怜的复活而被鞭打,但我想我将分享几个非常有用的小JS片段,我在我的武器库中使用每个应用程序…

如果输入:

$("#selector option:selected").val() // or
$("#selector option:selected").text()

是老了,尝试添加这些小松脆饼到你的全局*.js文件:

function soval(a) {
    return $('option:selected', a).val();
}
function sotext(a) {
    return $('option:selected', a).text();
}

然后写soval("#selector");或sotext(“#选择器”);相反!如果将两者结合并返回一个包含值和文本的对象,那就更好了!

function so(a) {
    my.value = $('option:selected', a).val();
    my.text  = $('option:selected', a).text();
    return my;
}

它为我节省了大量宝贵的时间,尤其是在表单较多的应用程序上!

使用这些代码中的任何一个

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

OR

$('#dropDownId').text();

如果你有一个以上的下拉尝试:

HTML:

<select id="dropdown1" onchange="myFunction(this)">
    <option value='...'>Option1
    <option value='...'>Option2
</select>
<select id="dropdown2" onchange="myFunction(this)">
    <option value='...'>Option1
    <option value='...'>Option2
</select>

JavaScript:

    function myFunction(sel) {
        var selected = sel.value;
    }

这是可行的

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