我开发了一个基于美味的 REST api,它返回正确的 JSON
如果我开始在自动完成的城市文本框中输入 mou,以下是返回的 JSON (JQuery AutoComplete)
{"meta": {"limit": 10, "next": null,
"offset": 0, "previous": null, "total_count": 1},
"objects": [{"id": "1", "name": "Mountin View",
"resource_uri": "/api/meta/city/1/"}]
}
如何在城市文本框中显示结果并允许用户选择(如果返回的对象超过 1 个)。
这是我的 JQuery 代码,但我观察到只有 showResult 被调用(我在每个函数中都有警报)我错过了什么吗?
$("#city").autocomplete('/api/meta/city/', {
dataType: "json",
selectFirst: true,
formatItem:function(item, index, total, query)
{
alert("formatItem");return item.name;
},
formatMatch:function(item)
{
alert("formatMatch");return item.name;
},
formatResult:function(item)
{
alert("formatResult");return item.name;
},
parseJSON:function(data)
{
alert("parseJSON");
return $.map(data, function(item)
{
return { data: item,
value: item.name,
result: item.name
}
});
},
showResult: function(value, data)
{
alert("ShowResult");
json_data = jQuery.parseJSON( value );
for(i=0;i< json_data.objects.length;i++)
{
alert(json_data.objects[i]);
}
return value;
}
});