gpt4 book ai didi

jquery - 突出显示 jQuery.autocomplete 的多个关键字

转载 作者:行者123 更新时间:2023-12-03 22:58:16 27 4
gpt4 key购买 nike

我正在使用 jQuery Autocomplete plugin ,但我在结果突出显示方面遇到一些问题。当找到匹配项,但输入的关键字包含空格时,不会突出显示。示例:

搜索 =“foo”,结果 =“foo bar”,显示 =“foo bar”

搜索 =“foo ba”,结果 =“foo bar”,显示 =“foo bar”

所以,我正在尝试使用 highlight option 来解决这个问题自动完成函数的一部分,您可以使用函数对结果执行一些自定义操作。目前我有这个:

$('.autocomplete').autocomplete('getmatch.php', {
highlight: function(match, keywords) {
keywords = keywords.split(' ').join('|');
return match.replace(/(get|keywords|here)/gi,'<b>$1</b>');
}
});

替换函数将字符串中所有匹配的单词替换为粗体版本,有效。但是,我不知道如何将关键字放入该函数中。我想我会把它们分开,然后用“|”连接它们,所以“foo bar”最终就像“foo|bar”。但这样的事情似乎不起作用:

return match.replace(/(keywords)/gi,'<b>$1</b>'); // seen as text, I think

return match.replace('/'+(keywords)+'/gi','<b>$1</b>'); // nothing either

有什么想法吗?

最佳答案

使用RegExp constructor从字符串创建 RegExp 对象:

$('.autocomplete').autocomplete('getmatch.php', {
highlight: function(match, keywords) {
keywords = keywords.split(' ').join('|');
return match.replace(new RegExp("("+keywords+")", "gi"),'<b>$1</b>');
}
});

关于jquery - 突出显示 jQuery.autocomplete 的多个关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/957207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com