用于jQuery自动完成的JSON [英] JSON for Jquery autocomplete

查看:108
本文介绍了用于jQuery自动完成的JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've JSON response from php file.

[{"NAME":"Kiev"},{"NAME":"Kiev Metro},{" NAME:" Kiev-Dnepro},{" NAME:" Kiev-Dnepro},{" NAME:" Kiev-Donetsk},{" NAME:" Kiev-Donetsk"}

[{"NAME":"Kiev"},{"NAME":"Kiev metro"},{"NAME":"Kiev-Dnepro"},{"NAME":"Kiev-Dnepro"},{"NAME":"Kiev-Donetsk"},{"NAME":"Kiev-Donetsk"}

如何将其用于标准Jquery自动完成功能?自动完成功能确实会请求,但似乎无法解析此json的响应(简单数组可以正常工作). 请帮助我

How can I use that for standard Jquery autocomplete? Autocomplete function do request but it seems it cant parse response for this json (simple array works fine). Help me please

Derin,是的.工作正常!但是现在我想对其进行一些修改.我得到了更多数据作为响应,我希望将其显示在主要自动完成输入附近

Derin, yes that's it. Works fine! But now I want to modify it a little. I getting more data in response and I'd like to display it near of main autocomplete input

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记录集的最后一个值

So how to change data in fields when I changed text in autocomplete input? Now I see just last values from JSON recordset

推荐答案

您可以使用formatItem选项:

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


对于jquery ui自动完成功能,这是实现此目的的方法:


For the jquery ui autocomplete here's how you could achieve this:

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

这篇关于用于jQuery自动完成的JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆