正如问题所说,我如何使用jQuery设置下拉列表控件的值?


当前回答

如果你的下拉菜单是Asp。净下拉,然后下面的代码将工作正常,

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

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

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

其他回答

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

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

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

编辑: 我上面的方法过去很管用。但现在似乎不再是了。

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

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

如果你加载所有<options ....></options>通过Ajax调用 按照下面的步骤来做。

1).创建一个单独的下拉值设置方法 为例:

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)
}

设置下拉选择的值并更新更改

$("#PR2DistrictId option[value='@Model.PR2DistrictId']").attr("selected", true).trigger("chosen:updated")

这里我们首先从Model中设置值,然后在选中时更新它

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

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

OR

$('select').prop('selectedIndex', 3);
$("#mydropdownlist").val("thevalue");

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