Установите для сопоставления Bootstrap Typeahead значение без учета регистра.

Мне нужно настроить сопоставление в подключаемом модуле Twitter Bootstrap Typeahead без учета регистра. В документах Bootstrap указано, что функция должна быть передана в опции typeahead, но не указано, какой должна быть эта функция.

Буду признателен, если кто подскажет, как это сделать.

Заранее спасибо :)


person TheGuest    schedule 30.05.2012    source источник


Ответы (1)


matcher — это опция параметра для функции typeahead. Из документации:

Метод, используемый для определения соответствия запроса элементу. Принимает один аргумент — элемент, по которому проверяется запрос. Получите доступ к текущему запросу с помощью this.query. Возвращает логическое значение true, если запрос соответствует.

Итак, это будет выглядеть примерно так:

$('.typeahead').typeahead({
    matcher: function(item) {
        // Here, the item variable is the item to check for matching.
        // Use this.query to get the current query.
        // return true to signify that the item was matched.
        return true
    }
})

В документации также говорится, что поведением по умолчанию для этого обратного вызова является сопоставление case insensitive. Таким образом, ваша потребность должна быть удовлетворена из коробки.

person ken    schedule 30.05.2012
comment
Действительно, похоже, проблема заключается в том, что данные анализируются до того, как они попадут в сопоставитель Typeahead, а, следовательно, не в самом typeahead. - person TheGuest; 31.05.2012
comment
Есть ли способ заставить матчер работать? Я думаю, что это удалено в Typeahead. - person Ata S.; 28.12.2013