1

我开发了一个基于美味的 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;
                }
});
4

0 回答 0