私は Tastypie ベースの REST API を開発しており、適切な JSON を返します
以下は、オートコンプリート (JQuery AutoComplete) である都市のテキスト ボックスに mou と入力し始めた場合に返される JSON です。
{"meta": {"limit": 10, "next": null,
"offset": 0, "previous": null, "total_count": 1},
"objects": [{"id": "1", "name": "Mountin View",
"resource_uri": "/api/meta/city/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;
}
});