微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax – 在jquery ui自动完成中组合本地源和远程源

我在 javascript中包含了常用术语列表,然后我还希望通过ajax响应从服务器获取json响应.怎么做到呢?

var projects = ["apple","orange"];

$('#search').autocomplete({
    source: projects
});

然后追加ajax的结果?

解决方法

您将采用的方法是将从服务器返回的结果与本地结果数组相结合.您可以通过将函数传递给自动完成的源选项来完成此操作:

您必须执行三个步骤:

>发出AJAX请求并从服务器获取结果.
>过滤本地阵列
>结合结果

这应该很简单.像这样的东西会起作用:

$("input").autocomplete({
    source: function(request,response) { 
        /* local results: */
        var localResults = $.ui.autocomplete.filter(localArray,request.term);

        /* Remote results: */
        $.ajax({
            /* AJAX options omitted... */
            success: function(data) {
                /* Process remote data using $.map,if necessary,then concatenate local
                 * and remote results. 
                 */
                response(data.concat(localResults));
            }
        });
    }
});

在这里编写了一个完整的例子:http://jsfiddle.net/FZ4N4/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐