我正在尝试混合Jquery Ui Autocomplete组合框和重音折叠示例,但它似乎超出了我的技能。我试图在组合框示例中将'normalize(text)'替换为'text'但没有雪茄。
Combobox示例:http://jqueryui.com/demos/autocomplete/#combobox
重音折叠示例:http://jqueryui.com/demos/autocomplete/#folding
更新
我发现了问题:REGEX对象不区分大小写,但我的normalize函数不是。
现在我遇到了一个小问题:代码提供了众所周知的文本高亮功能,如下所示:
if (this.value && (!request.term || matcher.test(normal) || matcher.test(text))) {
return {
label: text.replace(
new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"),
value: text,
option: this
};
}
当用户键入带重音的文本时,这很好,但如果输入是非重音的,则无法突出显示。是否会有一个解决方案,即使用户没有重音键入,文本也会高亮?
谢谢!
答案 0 :(得分:-1)
我找到了一些解决方案:
if(this.value && ( !request.term || matcher.test(normalize(text)) || matcher.test(text)))