正如问题所说,我如何使用jQuery添加一个新的选项到下拉列表?

谢谢


当前回答

你可能想先清除你的下拉菜单 $ (' # DropDownQuality ')空虚();

我让我的控制器在MVC中返回一个只有一个项目的选择列表。

$('#DropDownQuality').append(
        $('<option></option>').val(data[0].Value).html(data[0].Text));    

其他回答

jQuery选择框插件。你可以这样做:

var myOptions = {
        "Value 1" : "Text 1",
        "Value 2" : "Text 2",
        "Value 3" : "Text 3"
    }
    $("#myselect2").addOption(myOptions, false); 

你可能想先清除你的下拉菜单 $ (' # DropDownQuality ')空虚();

我让我的控制器在MVC中返回一个只有一个项目的选择列表。

$('#DropDownQuality').append(
        $('<option></option>').val(data[0].Value).html(data[0].Text));    

在没有插件的情况下,这可以更容易,而不需要使用太多的jQuery,而是稍微老派一些:

var myOptions = {
    val1 : 'text1',
    val2 : 'text2'
};
$.each(myOptions, function(val, text) {
    $('#mySelect').append( new Option(text,val) );
});

如果你想指定选项a)是否是默认选择值,b)现在应该被选择,你可以传递另外两个参数:

    var defaultSelected = false;
    var nowSelected     = true;
    $('#mySelect').append( new Option(text,val,defaultSelected,nowSelected) );

请注意@Phrogz的解决方案不能在ie8中运行,而@nickf的解决方案可以在所有主流浏览器中运行。另一种方法是:

$.each(myOptions, function(val, text) {
    $("#mySelect").append($("&lt;option/&gt;").attr("value", val).text(text));
});

开始时将项目添加到列表中

$("#ddlList").prepend('<option selected="selected" value="0"> Select </option>');

最后将项目添加到列表中

$('<option value="6">Java Script</option>').appendTo("#ddlList");

常用的下拉操作(获取,设置,添加,删除)使用jQuery