如何添加选项以在jQuery中选择列表

时间:2009-11-13 16:34:36

标签: jquery html-select

我的选择列表名为dropListBuilding。以下代码似乎不起作用:

 for (var i = 0; i < buildings.length; i++) {
     var val = buildings[i];
     var text = buildings[i];
     alert("value of builing at: " + i.toString() + " is: " + val);
     $("#dropListBuilding").addOption(val, text, false);
 }

这条线死了:

$("#dropListBuilding").addOption(val, text, false);

在jQuery的下拉列表中添加项目的权利是什么?我已经测试过没有那条线,而buildings变量确实有我的数据元素。

9 个答案:

答案 0 :(得分:120)

不要让你的代码如此复杂。它可以通过使用类似foreach的迭代器简单地完成:

$.each(buildings, function (index, value) {
    $('#dropListBuilding').append($('<option/>', { 
        value: value,
        text : value 
    }));
});      

答案 1 :(得分:17)

这样做对我来说一直很有用,我希望这会有所帮助。

var ddl = $("#dropListBuilding");   
for (k = 0; k < buildings.length; k++)
   ddl.append("<option value='" + buildings[k]+ "'>" + buildings[k] + "</option>");

答案 2 :(得分:16)

$('#dropListBuilding').append('<option>'+val+'</option>');

答案 3 :(得分:7)

您的代码失败,因为您正在jQuery对象上执行方法(addOption)(此对象不支持该方法)

您可以使用标准的Javascript函数:

$("#dropListBuilding")[0].options.add( new Option("My Text","My Value") )

答案 4 :(得分:2)

看起来你想要这个插件,因为它跟随你现有的代码,也许插件js文件被遗漏了。

http://www.texotela.co.uk/code/jquery/select/

var myOptions = {
"Value 1" : "Text 1",
"Value 2" : "Text 2",
"Value 3" : "Text 3"
} 
$("#myselect2").addOption(myOptions, false); 
// use true if you want to select the added options » Run

答案 5 :(得分:2)

这很好用,试试这个。

var ob = $("#myListBox");

for (var i = 0; i < buildings.length; i++) {
     var val = buildings[i];
     var text = buildings[i];

     ob.prepend("<option value="+ val +">" + text + "</option>");
}

答案 6 :(得分:1)

如果你不想依赖3.5 kB的jQuery插件或者不想在转发保留的HTML字符时构造HTML字符串,这里有一个简单的方法:

function addOptionToSelectBox(selectBox, optionId, optionText, selectIt)
{
    var option = document.createElement("option");
    option.value = optionId;
    option.text = optionText;
    selectBox.options[selectBox.options.length] = option;
    if (selectIt) {
        option.selected = true;
    }
}

var selectBox = $('#veryImportantSelectBox')[0];
addOptionToSelectBox(selectBox, "ID1", "Option 1", true);

答案 7 :(得分:1)

对我来说这个人工作了

success: function(data){
            alert("SUCCCESS");
            $.each(data,function(index,itemData){
                console.log(JSON.stringify(itemData));
                $("#fromDay").append( new Option(itemData.lookupLabel,itemData.id) )
            });
        }

答案 8 :(得分:0)

$.each(data,function(index,itemData){
    $('#dropListBuilding').append($("<option></option>")
        .attr("value",key)
        .text(value)); 
});