我如何使用jQuery设置DropDownList的值?

如问题所述,如何设置使用jQuery的DropDownList控件的值?

$("#mydropdownlist").val("thevalue"); 

只要确保选项标签中的值与val方法中的值匹配即可。

如果你使用索引,你可以用.attr()直接设置选定的索引:

 $("#mydropdownlist").attr('selectedIndex', 0); 

这会将其设置为下拉列表中的第一个值。

编辑:我做了上面的方式用于工作。 但似乎已经不复存在了。

但是,正如韩在评论中愉快地指出的那样,正确的做法是:

 $("#mydropdownlist").get(0).selectedIndex = index_here; 

正如@Nick Berardi所build议的那样,如果您更改的值未反映在UI前端,请尝试:

 $("#mydropdownlist").val("thevalue").change(); 

试试这个非常简单的方法:

 /*make sure that value is included in the options value of the dropdownlist eg (<select><option value='CA'>California</option><option value='AK'>Alaska</option> </select>) */ $('#mycontrolId').val(myvalue).attr("selected", "selected"); 

如果你的下拉是Asp.Net下拉,那么下面的代码将正常工作,

  $("#<%=DropDownName.ClientID%>")[0].selectedIndex=0; 

但是,如果你的DropDown是HTML下拉,那么这个代码将工作。

  $("#DropDownName")[0].selectedIndex=0; 

尝试:

 jQuery("#availability option:selected").val(); 

或者得到选项的文本,使用text():

 jQuery("#availability option:selected").text(); 

更多信息:

  http://api.jquery.com/val/ http://api.jquery.com/text/ 
 $(document).ready(function(){ $('#button1').click(function(){ alert($('#combo :selected').text()); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select id="combo"> <option value="1">Test 1</option> <option value="2">Test 2</option> </select> <input id="button1" type="button" value="Click!" /> 

有很多方法可以做到这一点。 这里是其中的一些:

 $("._statusDDL").val('2'); 

要么

 $('select').prop('selectedIndex', 3); 

在这篇文章中有不同的方法来select使用Jquery的下拉值 。

我认为这可能有所帮助:

  $.getJSON('<%= Url.Action("GetDepartment") %>', { coDepartment: paramDepartment }, function(data) { $(".autoCompleteDepartment").empty(); $(".autoCompleteDepartment").append($("<option />").val(-1)); $.each(data, function() { $(".autoCompleteDepartment").append($("<option />").val(this.CodDepartment).text(this.DepartmentName)); }); $(".autoCompleteDepartment").val(-1); } ); 

如果你这样做,你添加一个没有文字的元素。 所以,当你点击de combo时,它不会变成apear,但是你添加了一个后面用$(“。autoCompleteDepartment”)select的值-1(val)。 让你控制组合是否有一个有效的值。

希望它可以帮助任何人。

对不起我的英语不好。

这是一个快速设置选项的function:

 function SetSelected(elem, val){ $('#'+elem+' option').each(function(i,d){ // console.log('searching match for '+ elem + ' ' + d.value + ' equal to '+ val); if($.trim(d.value).toLowerCase() == $.trim(val).toLowerCase()){ // console.log('found match for '+ elem + ' ' + d.value); $('#'+elem).prop('selectedIndex', i); } }); } 

用参数元素id和选定的值调用这个函数; 喜欢这个:

 SetSelected('selectID','some option'); 

当有很多select选项被设置时,这是有用的。

在通过Ajax调用加载所有<options ....></options>
按照这些步骤来做到这一点。

1)。 为下拉菜单的设定值创build一个单独的方法
例如:

 function set_ip_base_country(countryCode) $('#country').val(countryCode) } 

2)。 调用这个方法时,Ajax调用成功所有的html追加任务完成

例如:

 success: function (doc) { ..... ..... $("#country").append('<option style="color:black;" value="' + key + '">' + value + '</option>') set_ip_base_country(ip_base_country) }