我是来自php文件的JSON响应。
[{ “NAME”: “基辅”},{ “NAME”:“基辅 地铁 “},{” NAME “:” 基辅Dnepro “},{” NAME “:” 基辅Dnepro “},{” NAME “:” 基辅顿涅兹克 “},{” NAME “:” 基辅顿涅兹克” }
如何将其用于标准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记录集的最后一个值
答案 0 :(得分:6)
您可以使用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;
}));
});
}
});