我如何使用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) }