。来自远程json的自动完成数据

时间:2016-02-03 17:48:16

标签: jquery json getjson

我有一些麻烦。自动完成功能。 我有什么:

<script type="text/javascript">

$( ".search" ).autocomplete({
      source: [{label:'link label1', searchLink:'http://link1.com'},
               {label:'link label2', searchLink:'http://link2.com'},
               {label:'link label3', searchLink:'http://link3.com'}],
      select:function(e,ui) { 
      location.href = ui.item.searchLink;
}
});
</script>

我需要把这个json内容放到文件中,并用这个完整的数据从中读取数据:

{
{label:'link label1', searchLink:'http://link1.com'},
{label:'link label2', searchLink:'http://link2.com'},
{label:'link label3', searchLink:'http://link3.com'}
}

有人可以帮助我吗?)也许某种方式使用$ .getJSON()将是非常好的解决方案:)

2 个答案:

答案 0 :(得分:1)

以下是您需要做的事情。

$("#autocomplete").autocomplete({
                delay: 500,
                minLength: 3,
                source: function(request, response) {
                    $.getJSON("JSON file name", {                       
                        q: request.term,
                        page_limit: 10
                    }, function(data) {
                        // data is an array of objects and must be transformed for autocomplete to use
                        var array = $.map(data, function(m) {
                            return {
                                label: m.lable,
                                searchLink: m.searchLink
                            };
                        });
                        response(array);
                    });
                }
            });

下面的帖子解释了如何使用自动完成的远程JSON。

http://salman-w.blogspot.com/2013/12/jquery-ui-autocomplete-examples.html#example-3

它还有完整的代码

答案 1 :(得分:0)

尝试编写回调来处理数据;

$.getJSON('getSource.url',function(data){
       /* Work with your data here */
})

您可能会发现jQuery UI autocomplete with objects有用