Выделите несколько ключевых слов для jQuery.autocomplete

Ответ @ roidrage работает для меня.

При использовании нескольких переменных env в одном матричном измерении переменные env должны объединяться следующим образом:

env:
- TEST_GROUP=Smoke TEST_ENV=airport
- TEST_GROUP=other TEST_ENV=outside
matrix:
  allow_failures:
  - env: TEST_GROUP=other TEST_ENV=outside
5
задан Alec 5 June 2009 в 17:52
поделиться

3 ответа

Используйте конструктор RegExp для создания объекта RegExp из строки:

$('.autocomplete').autocomplete('getmatch.php', {
    highlight: function(match, keywords) {
        keywords = keywords.split(' ').join('|');
        return match.replace(new RegExp("("+keywords+")", "gi"),'<b>$1</b>');
    }
});
11
ответ дан 13 December 2019 в 05:41
поделиться

Ваша функция должна использовать эту сигнатуру: функция (значение, термин). Значение и термин будут подставлены плагином автозаполнения и будут иметь нужные вам значения.

0
ответ дан 13 December 2019 в 05:41
поделиться

Я изменил исходную реализацию автозаполнения, поскольку приведенное выше упрощено и не будет иметь дело со специальными символами regEx в термине.

function doTheHighlight(value, term) {
    // Escape any regexy type characters so they don't bugger up the other reg ex
    term = term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1");

    // Join the terms with a pipe as an 'OR'
    term = term.split(' ').join('|');

    return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
}
1
ответ дан 13 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: