我是来自PHP文件的JSON响应.
[{“NAME”:”Kiev”},{“NAME”:”Kiev
metro”},{“NAME”:”Kiev-Dnepro”},{“NAME”:”Kiev-Donetsk”},{“NAME”:”Kiev-Donetsk”}
如何将其用于标准Jquery自动完成?自动完成功能请求但它似乎无法解析此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; })); }); } });