Как: Изменить регулярное выражение jquery.autocomplete, чтобы показать результаты, которые начинаются с заданного ввода - PullRequest
4 голосов
/ 15 декабря 2011

Я не знаю достаточно, чтобы изменить следующий код, который покажет мне слово , начинающееся с с введенными символами. Например: если я набираю E или e, оно показывает мне "Электротехника, электроника,Механический ", но я хочу, чтобы отображалось только " Электротехника, электроника ". Как это сделать?

Я использую плагин jquery autocomplete .

source: function(request, response) {
        var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
        response(select.children("option").map(function() {

         var text = $(this).text();
         if (this.value && (!request.term || matcher.test(text)))
             return {
             label: text.replace(
                 new RegExp(
                 "(?![^&;]+;)(?!<[^<>]*)(" +
                     $.ui.autocomplete.escapeRegex(request.term) +
                     ")(?![^<>]*>)(?![^&;]+;)", "gi"
                 ), "<strong>$1</strong>"),
             value: text,
             option: this
            };
      }));

1 Ответ

9 голосов
/ 15 декабря 2011

В Javascript RegExp, ^ означает startsWith:

var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i");
...