2

我在我的网站上安装了 jquery 和 jquery ui,我有

$(document).ready(function(){
        //alert('it ran');
        $('.global_search').autocomplete({ source: "global_search.php", select: function( event, ui){ window.open( ui.item.url ); } });
    });

当我在 chrome 中查看网络选项卡时,我看到了结果 global_search.php?term=54650 (注意我搜索了 54650 )

我得到的回应是

{"150000":{"name":"Event: TestRod08.28.2012","value":"Event: TestRod08.28.2012","link":"event_profile.php?event_id=2939"}}

哪个应该显示“事件:TestRod08.28.2012”,点击应该转到 event_profile.php?event_id=2939 但列表永远不会显示?我有其他 jquery 自动完成在同一页面上工作,并且列表显示得很好。有任何想法吗?

4

3 回答 3

1

尝试

  $('#test').autocomplete({
    source : function(request, callback) {
        $.ajax({
            url : "data.json",
        datatype: 'json'
        }).done(function(data) {
            var results = []

            $.each(data, function(key, value) {
                        results.push({
                                    id : key,
                                    label : value.name,
                    url: value.link
                                });
                    });

            callback(results);
        });
    },
    select : function(event, ui) {
        window.open(ui.item.url);
    }
  });

演示:Plunker

于 2013-04-19T13:50:23.847 回答
0
var options, a;
jQuery(function(){
  options = { serviceUrl:'global_search.php'};
  a = $('.global_search').autocomplete(options);
}); 

你可以试试。

于 2013-04-19T13:39:07.567 回答
0

发现当我删除密钥时,我的 global_search.php 正在返回一个 json 对象而不是 json 数组(我有键值)它工作得很好

谢谢你们每一个人的帮助

于 2013-04-19T14:15:14.630 回答