С помощью jQuery UI Autocomplete, как я могу гарантировать, что один конкретный результат появляется независимо от того, какой текст вводится? - PullRequest
2 голосов
/ 16 сентября 2011

Мой список источников автозаполнения выглядит примерно так:

var items = ['UK', 'IE', 'BE', 'NL', 'PLC'];

Я пытаюсь убедиться, что набор результатов из моего автозаполнения всегда содержит определенный термин (в данном случае PLC).

Я пытался добавить ПЛК в список источников, затем переопределить фильтр результатов автозаполнения (см. здесь ).

Я могу заставить его вернуть "ПЛК""независимо от того, что напечатано следующим образом:

$("#autocomplete").autocomplete({
    source: function(request, response) {
        // The term the user searched for;
        var term = request.term;

        // Extract matching items:
        var matches = $.grep(items, function(item, index) {
            return /PLC/.test(item);
        });

        // let autocomplete know the results:
        response(matches);
    }
});

http://jsfiddle.net/GarethPN/xbZhr/6/

Но как бы я использовал термин переменная в регулярном выражении, чтобы сохранить стандартную функциональность?

Или есть какой-то ослепительно простой способ, которого мне не хватает?

1 Ответ

2 голосов
/ 16 сентября 2011

Одной из идей является создание массива совпадающих результатов и добавление к ним ПЛК:

var items = ['UK', 'IE', 'FR', 'BE', 'NL'];
$("#autocomplete").autocomplete({
    source: function(request, response) {
        // The term the user searched for;
        var term = request.term;

        var matches = [];
        matches.push('PLC');/(add PLC
        // Extract matching items: (write your own function here)


        // let autocomplete know the results:
        response(matches);
    }
});

скрипка здесь: http://jsfiddle.net/xbZhr/8/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...