【问题标题】:jquery autocomplete with remote data source does not filter带有远程数据源的jquery自动完成不过滤
【发布时间】:2012-08-07 16:07:42
【问题描述】:

第一个实现工作正常。 第二个提供了一个下拉列表,但在您键入时不会对其进行过滤。

    $( "#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 可用标签 = [ "动作脚本", “苹果脚本”, “阿斯普”, “基本的”, “C”, "C++", “克洛朱尔”, "COBOL", “冷融合”, “二郎”, “Fortran”, “时髦”, “哈斯克尔”, “爪哇”, "JavaScript", “口齿不清”, “珀尔”, "PHP", “Python”, “红宝石”, “斯卡拉”, “方案” ];

来自网络服务的返回值: ["ActionScript","AppleScript","Asp","BASIC","C","C++","Clojure","COBOL","ColdFusion","Erlang","Fortran","Groovy"," Haskell","Java","JavaScript","Lisp","Perl","PHP","Python","Ruby","Scala","Scheme"]

                    <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>    

【问题讨论】:

  • 如果我输入“3”,我什至会得到整个下拉列表。
  • 从整个列表中选择仍然会将值放在输入框中。
  • 这可能会被删除,因为它在这里得到了回答:stackoverflow.com/questions/9349370/…我有一套旧的文档。

标签: jquery-ui


【解决方案1】:

来自docs

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

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

【讨论】:

  • 嗯,好的。将结果放在本地数组中然后让自动完成过滤器会更敏感。谢谢。
  • 如果您无法控制服务器端,那就不是很好了。
猜你喜欢
  • 1970-01-01
  • 2012-05-18
  • 1970-01-01
  • 2014-03-15
  • 1970-01-01
  • 2015-07-04
  • 2014-02-02
  • 2023-04-05
  • 1970-01-01
相关资源
最近更新 更多