如何使用jQuery获得下拉框的选定值? 我试着用
var value = $('#dropDownId').val();
and
var value = $('select#dropDownId option:selected').val();
但两者都返回空字符串。
如何使用jQuery获得下拉框的选定值? 我试着用
var value = $('#dropDownId').val();
and
var value = $('select#dropDownId option:selected').val();
但两者都返回空字符串。
当前回答
我知道这是一个非常老的帖子,我可能应该为这个可怜的复活而被鞭打,但我想我将分享几个非常有用的小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;
}
它为我节省了大量宝贵的时间,尤其是在表单较多的应用程序上!
其他回答
您是否为选择元素提供了id?
<select id='dropDownId'> ...
你的第一句话应该有用!
试试这个
$("#yourDropdown option:selected").text();
要从下拉列表中获取jquery值,你只需使用下面的函数just sent 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;
}
对于正常页面加载下拉列表
$("#dropDownId").on('change',function(){
var value=$(this).val();
alert(value);
});
确保保持id的唯一性
$(document).on('change','#dropDownId',function(){
var value=$(this).val();
alert(value)
});
这将提醒所选值。 JQuery代码…
$(document).ready(function () {
$("#myDropDown").change(function (event) {
alert("You have Selected :: "+$(this).val());
});
});
HTML代码…
<select id="myDropDown">
<option>Milk</option>
<option>Egg</option>
<option>Bread</option>
<option>Fruits</option>
</select>