用于Jquery自动完成的JSON

Cas*_*tro 2 jquery json jquery-ui

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

[{"NAME":"Kiev"},{"NAME":"Kiev metro"},{"NAME":"Kiev-Dnepro"},{"NAME":"Kiev-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

      });
 });
Run Code Online (Sandbox Code Playgroud)

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

Dar*_*rov 6

您可以使用以下formatItem选项:

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

对于jquery ui自动完成,这里是如何实现这一点的:

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