我正在尝试使用选项填充选择框,但它不会填充选择。我从ajax调用中获取了json。我不确定是什么问题。
这是我的尝试:
$.getJSON('checkpictures.cfm?mode=getitem&itemID='+itemname, function(result) {
var $select = $("#associated_order");
$select.html('');
//don't forget error handling!
$.each(result, function(items) {
$select.append($("<option />").val(items.orderID).text(items.orderunique));
});
});
我的JSON对象
[{"itemid":1,"orderid":3,"orderunique":"RXGRFBD9","itemname":"Imperial"},{"itemid":1,"orderid":7,"orderunique":"ARN82Z3M","itemname":"Imperial"}]
另外,我在这里缺少错误处理,如何添加它。请指导,谢谢
我正在使用selected2插件,所以这里是为此生成的html,它填充了选择框但不填充自定义plgin:
<div class="controls">
<select data-rel="chosen" data-placeholder="Please choose one" id="associated_order" class="passitem" style="width: 200px; display: block;" name="associated_order"><option value="">29ZDBKZ7</option><option value="">T69AEJZV</option></select><div class="chosen-container chosen-container-single" style="width: 200px;" title="" id="associated_order_chosen"><a tabindex="-1" class="chosen-single chosen-default"><span>Please choose one</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off"></div><ul class="chosen-results"></ul></div></div>
</div>
更新#1
$.ajax({
type:'post',
url:'checkpictures.cfm?mode=forqty',
data: data,
success: function(result) {
$("#qtymsg").html(result);
if($hostname.indexOf('sell') > -1){
$.getJSON('checkpictures.cfm?mode=getitem&itemID='+itemname, function(result) {
$select.html('');
//don't forget error handling!
$.each(result, function(i,items) {
$select.append($("<option />").val(items.orderID).text(items.orderunique));
});
});
}
}
});
$select.trigger("liszt:updated");
它还没有填充它
答案 0 :(得分:2)
$.each
的回调有两个参数。第一个是索引或键;第二个是价值。
$.each(result, function(i, items) {
$select.append($("<option />").val(items.orderID).text(items.orderunique));
});