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


当前回答

如果你只需要设置一个下拉列表的值,那么最好的方法是

$("#ID").val("2");

如果你必须在更新下拉列表值后触发任何脚本,比如如果你在下拉列表上设置任何onChange事件,并且你想在更新下拉列表后运行这个,那么你需要像这样使用

$("#ID").val("2").change();

其他回答

如果你只需要设置一个下拉列表的值,那么最好的方法是

$("#ID").val("2");

如果你必须在更新下拉列表值后触发任何脚本,比如如果你在下拉列表上设置任何onChange事件,并且你想在更新下拉列表后运行这个,那么你需要像这样使用

$("#ID").val("2").change();

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

/*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())
})

正如@Nick Berardi所建议的,如果你更改的值没有反映在UI前端,尝试:

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

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

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

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

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