我的 Jquery 自动完成使用 JQuery 网站的示例代码,可处理来自 url 的以下数据
[
"shirt",
"shirt two"
]
但不适用于以下数据[来自网址的数据]
[
{
"id": 1,
"name": "shirt"
},
{
"id": 5,
"name": "shirt two"
}
]
这是我的 JQuery :
<script>
$(function(){
$('#searchbox').autocomplete({
type: "GET",
source:'{% url 'ajitemsdetails' %}',
minLength: 3,
select: function( event, ui ) {
$('#data').append('<tr><td></td><td>'+ui.item.name+'</td><td></td><td></td><td></td><tr>');
}})
});
</script>
问题出在 json 输出中。经过几个小时的尝试、错误和汗水:)我可以通过更改服务器代码来创建 json 来解决这个问题:
itemlist = []
for item in items:
itemdic = {}
itemdic['label'] = item.id
itemdic['value'] = item.name
itemlist.append(itemdic)
return JsonResponse(itemlist, safe= False)
这在服务器上为调用提供了以下输出:
[{"label": 1, "value": "shirt"}, {"label": 5, "value": "shirt two"}]