如何根据用户当前输入以编程方式访问匹配值列表 - jQuery Autocomplete?

Posted

技术标签:

【中文标题】如何根据用户当前输入以编程方式访问匹配值列表 - jQuery Autocomplete?【英文标题】:How to access a list of matched value programmatically base on user current input - jQuery Autocomplete? 【发布时间】:2020-01-13 15:32:10 【问题描述】:

我有这个数组

["ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"javascript",
"Lisp",
"Perl",
"php",
"Python",
"Ruby",
"Scala",
"Scheme"]

我在这里复制了它:https://jsfiddle.net/bheng/Lsubhxmv/

当我输入 "P" 时 - 我看到了这个列表

预期结果

console.log(matchedValues), I should see ['ActionScript','AppleScript','Asp','Lisp','Perl','PHP','Python']

我一输入"Py",就只有一个出现

预期结果

console.log(matchedValues), I should see ['Python']

我需要根据用户当前输入以编程方式访问 匹配 值列表。

【问题讨论】:

感谢您改进问题。这比上一个要清楚得多。 感谢你们提供的惊人反馈、时间和努力。 【参考方案1】:

您可以使用自动完成的response 事件来检索过滤后的值:

$(".search").autocomplete(
  source: ["ActionScript",
    "AppleScript",
    "Asp",
    "BASIC",
    "C",
    "C++",
    "Clojure",
    "COBOL",
    "ColdFusion",
    "Erlang"
    // other values...
  ],
  response: function(e, ui) 
    console.log(ui);
  
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
<input type="text" class="search" />

【讨论】:

以上是关于如何根据用户当前输入以编程方式访问匹配值列表 - jQuery Autocomplete?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式将用户添加到 Oracle APEX 4.x 中的访问控制列表?

以编程方式控制输出缓存 - 根据参数值禁用或启用缓存

如何以编程方式确定浏览器窗口的当前缩放级别? [复制]

如何以编程方式检测机器人

MS Access 2010 - 如何根据以前的输入以编程方式显示表单字段?

如何以编程方式处理英文缩写 [Regex, JS, Ruby]