如何添加选项来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) ) }); }