Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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_Typeahead.js_Typeahead - Fatal编程技术网

Javascript 让typeahead.js在查找建议时忽略括号

Javascript 让typeahead.js在查找建议时忽略括号,javascript,jquery,typeahead.js,typeahead,Javascript,Jquery,Typeahead.js,Typeahead,我正在利用这些建议。除了一个问题外,它运行良好。我的建议有括号,如下所示: "Elizabeth (Liz)" "Robert (Bob)" "Michael (Mike)" 只匹配单词的开头,因此如果用户键入“Liz”,它将不会建议第一项。如果您键入“(Liz”),它将匹配。但是用户应该能够开始键入名称或昵称以查看匹配的建议 如何让typeahead.js忽略括号并查找两个单词中的匹配项 JSFIDLE上的工作示例: 重要提示:我不希望typeahead.js在字符串中的任何位置查找匹配项。

我正在利用这些建议。除了一个问题外,它运行良好。我的建议有括号,如下所示:

"Elizabeth (Liz)"
"Robert (Bob)"
"Michael (Mike)"
只匹配单词的开头,因此如果用户键入“Liz”,它将不会建议第一项。如果您键入“(Liz”),它将匹配。但是用户应该能够开始键入名称或昵称以查看匹配的建议

如何让typeahead.js忽略括号并查找两个单词中的匹配项

JSFIDLE上的工作示例:

重要提示:我不希望typeahead.js在字符串中的任何位置查找匹配项。我知道这会解决问题,但当有成千上万的建议时,这将不会有帮助。例如,键入“Beth”建议“Bethany”,而不是“ElizaBeth”。我需要保留此功能。除括号外,建议应仅与每个单词的开头匹配

感谢您的帮助。

如果您将datumTokenizer更改为:

预测将以相同的方式在单词的开头执行,但不包括符号,而不仅仅是分割空白


然后你会得到Eli和Liz对Elizabeth(Liz)的建议。

你可以使用
警犬.tokenizers.nonword
标记器作为
datumTokenizer

在内部,它使用此表达式
split(/\W+/)
,该表达式将按不属于单词的任何字符分割stings。例如,符号和空格

这里有一个js小提琴的链接


(可选)您可能希望实现自己的标记器,以空格和括号分隔。

工作起来很有魅力。我正在查阅typeahead文档,但本应查看《猎犬》。谢谢您的帮助!关于此问题的任何帮助关于此问题的任何帮助
datumTokenizer: Bloodhound.tokenizers.nonword