我是来自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;
}));
});
}
});