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

dan*_*nan 63 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);
 }
Run Code Online (Sandbox Code Playgroud)

这条线死了:

$("#dropListBuilding").addOption(val, text, false);
Run Code Online (Sandbox Code Playgroud)

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

小智 121

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

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

  • 我要添加的唯一内容是你想要在填充之前清除列表的情况.`$('#dropListBuilding').html('');`在我看来,这完成了答案. (10认同)

Jam*_*mes 17

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

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


Sou*_*sou 16

$('#dropListBuilding').append('<option>'+val+'</option>');
Run Code Online (Sandbox Code Playgroud)


duc*_*lip 7

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

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

$("#dropListBuilding")[0].options.add( new Option("My Text","My Value") )
Run Code Online (Sandbox Code Playgroud)


小智 6

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