Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用typeahead.js在字符串中搜索?_Javascript_Jquery Ui Autocomplete_Typeahead.js - Fatal编程技术网

Javascript 使用typeahead.js在字符串中搜索?

Javascript 使用typeahead.js在字符串中搜索?,javascript,jquery-ui-autocomplete,typeahead.js,Javascript,Jquery Ui Autocomplete,Typeahead.js,我希望typeahead.js在如何匹配项方面表现得像jqueryui autocomplete。使用jqueryui autocomplete可以在文本项中进行搜索。在typeahead中,它仅从字符串的开头开始 自动完成示例: 提前键入示例: 使用autocomplete,似乎可以分配一个比较函数,但我在typeahead中没有发现类似的功能 如果我有一个包含“马术(马)”项的列表,那么如果我开始写“o”,我想得到一个匹配项。typeahead的数据源是通过“source”参数设置的。因此,

我希望typeahead.js在如何匹配项方面表现得像jqueryui autocomplete。使用jqueryui autocomplete可以在文本项中进行搜索。在typeahead中,它仅从字符串的开头开始

自动完成示例:

提前键入示例:

使用autocomplete,似乎可以分配一个比较函数,但我在typeahead中没有发现类似的功能


如果我有一个包含“马术(马)”项的列表,那么如果我开始写“o”,我想得到一个匹配项。

typeahead的数据源是通过“source”参数设置的。因此,完全可以在其中放置另一个方法,而不是数组。还要注意,它内部需要一个字符串数组,因此必须将所有内容格式化为字符串


编辑:这个示例现在总是生成从测试0到测试9的值,因此您当然只能通过输入“Test”的部分进行检查。

Typeahead.js代码将按原样查找前缀匹配,正如您所说的那样。不过有一个“技巧”:每个数据还可能包含一个
tokens
元素,正如Typeahead文档所说,它是“一个字符串集合,有助于Typeahead.js将数据与给定查询进行匹配”

前缀匹配是针对
标记进行的。如果您没有为其中一个基准提供
标记
值,则其值将被标记化(空格分隔)。但是,您可以提供
代币
,以获得您想要的东西。例如,在本例中,您将提供一个
tokens
值,该值是查询字符串中所有单词的唯一子字符串


我建议“长度>=2的所有唯一子字符串”,顺便说一句。

OP专门询问typeahead.js,而不是引导typeahead。你在提琴中演示的是Bootstrap Typeahead,OP已经说过它的行为符合要求。
404该页面不存在。
在链接上