我正在尝试混合使用 Jquery Ui Autocomplete 组合框和重音折叠示例,但这似乎超出了我的技能范围。我试图在组合框示例中用“normalize(text)”替换对“text”的提及,但没有雪茄。
组合框示例: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
};
}
当用户键入重音文本时这很好,但如果输入没有重音则无法突出显示。有没有办法解决这个问题,这样即使用户没有重音输入,文本也会被高亮显示?
谢谢!