Я использую плагин jQuery Автозаполнение , но у меня есть некоторые проблемы с выделением результатов. Когда совпадение найдено, но введенное ключевое слово содержит пробелы, подсветка отсутствует. Пример:
search = "foo", result = "foo bar", отображается = " foo bar"
search = "foo ba", result = "foo bar", отображается = "foo bar"
Итак, я пытаюсь это исправить, используя опцию highlight функции автозаполнения, где вы можете использовать функцию для выполнения каких-либо пользовательских действий с результатами. В настоящее время у меня есть это:
<code>$('.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
Есть идеи?