具有远程数据源的jquery自动完成功能不会过滤

时间:2012-08-07 16:07:42

标签: jquery-ui

第一个实现正常。 第二个提供下拉列表,但在您键入时不会过滤。

    $( "#tags" ).autocomplete({
        source: availableTags
    });
    $( "#tags1" ).autocomplete({
        source: "http://nwx1/mysql/useractivitytxn/f_UsersList.php"
    });

...

<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags">
    <label for="tags1">Tags1: </label>
    <input id="tags1">
    <label for="tags2">Tags2: </label>
    <input id="tags2">
</div>

var availableTags = [             “动作脚本”,             “AppleScript的”,             “ASP”             “BASIC”,             “C”,             “C ++”,             “Clojure的”,             “COBOL”             “ColdFusion的”,             “二郎”             “FORTRAN”,             “常规”,             “哈斯克尔”,             “Java” 的,             “JavaScript的”,             “Lisp的”,             “Perl的”,             “PHP”,             “蟒蛇”,             “红宝石”,             “斯卡拉”             “方案”         ];

来自Web服务的返回值: [ “动作脚本”, “AppleScript的”, “ASP”, “BASIC”, “C”, “C ++”, “Clojure的”, “COBOL”, “ColdFusion的”, “二郎”, “Fortran的”, “常规”,” Haskell中”, “Java” 的, “JavaScript的”, “Lisp的”, “Perl的”, “PHP”, “Python的”, “红宝石”, “Scala的”, “计划”]

                    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
        <script src="http://code.jquery.com/ui/1.8.22/jquery-ui.min.js" type="text/javascript"></script>
        <script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.2.js" type="text/javascript"></script>    

1 个答案:

答案 0 :(得分:0)

来自docs

  

使用String时,Autocomplete插件需要该字符串   指向将返回JSON数据的URL资源。它可以在   相同的主机或不同的主机(必须提供JSONP)。自动填充   插件不会过滤结果,而是过滤请求参数   “term”被添加到URL,服务器端脚本应该使用该URL   用于过滤结果。

自动填充可以具有以下三种源类型之一:具有本地数据的数组,字符串,指定URL或回调。您的第一个示例使用数组,而第二个示例使用字符串,指定URL,因此您需要进行过滤并返回过滤后的结果集。