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


当前回答

设置值并更新下拉列表事件

$("#id").val("1234").change();

其他回答

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

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

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

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

对于使用Bootstrap的人,使用$(#elementId').selectpicker('val','elementValue')而不是$('#elementId').val('elementValue'),因为后者不会更新UI中的值。

注意:即使.change()函数也可以工作,正如上面在一些回答中所建议的那样,但它会触发$('#elementId').change(function(){//do something})函数。

只是把这个贴出来,以便将来有人引用这个帖子。

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

/*make sure that value is included in the options value of the dropdownlist 
e.g. 
(<select><option value='CA'>California</option><option value='AK'>Alaska</option>      </select>)
*/

$('#mycontrolId').val(myvalue).attr("selected", "selected");
//customerDB is an Array  
for(i of customerDB){   

      //create option and add to drop down list 
      var set = `<option value=${i.id}>${i.id}</option>`;
      $('#dropDown').append(set);

}  


// print dropdown values on console
$('#dropDown').click(function(){
      console.log($(this).val())
})

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

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

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