用于Jquery自动完成的JSON

我是来自php文件的JSON响应。

[{“NAME”:“Kiev”},{“NAME”:“Kiev metro”},{“NAME”:“Kiev-Dnepro”},{“NAME”:“Kiev-Dnepro”},{“NAME” : “基辅顿涅兹克”},{ “NAME”: “基辅顿涅兹克”}

如何将其用于标准Jquery自动完成? 自动完成function请求但它似乎无法解析此json的响应(简单数组工作正常)。 请帮帮我


德林,是的就是这样。 工作良好! 但现在我想稍微修改一下。 我得到更多数据作为响应,我想在主要自动完成输入附近显示它

var infoGISName = null; var infoGISType = null; var infoGISLocationID = null; var infoGISParentID = null; $('#GISName').autocomplete({ source: function(request, response) { $.getJSON("autocomplete.php", { term: request.term }, function(result) { response($.map(result, function(item) { infoGISName = item.NAME; infoGISType = item.GIS_TYPE; infoGISLocationID = item.LOCATION_ID; infoGISParentID = item.PARENT_ID; return item.NAME; })); }); }, change: function(event, ui) { $('#infoGISName').html(infoGISName); $('#infoGISType').html(infoGISType); $('#infoGISLocationID').html(infoGISLocationID); $('#infoGISParentID').html(infoGISParentID); }, minLength:3 }); }); 

那么当我在自动完成输入中更改文本时如何更改字段中的数据? 现在我只看到JSON记录集中的最后一个值

您可以使用formatItem选项:

 $('#foo').autocomplete({ url : '/foo', formatItem: function(item, position, length) { return item.NAME; } }); 

对于jquery ui autocomplete,你可以在这里实现这个目标:

 $('#foo').autocomplete({ source: function(request, response) { $.getJSON('/foo.php', { q: request.term }, function(result) { response($.map(result, function(item) { return item.NAME; })); }); } });