如何添加选项来selectjQuery中的列表

我的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的权利? 我已经没有testing线,build筑物variables确实有我的数据元素。

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

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

这样做一直为我工作,我希望这有助于。

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

你的代码失败,因为你在jQuery对象上执行一个方法(addOption)(这个对象不支持该方法)

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

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

它看起来像你想这个插件,因为它跟随你现有的代码,也许插件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 

这工作正常,试试这个。

 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>"); } 

如果你不想依赖3.5k的jQuery插件,或者不希望在转义保留的HTML字符时构造HTMLstring,下面是一个简单的方法:

 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); 

对我来说这个工作

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