@entermix

Почему не работает typeahead?

Использую этот плагин: https://github.com/bassjobsen/Bootstrap-3-Typeahead

Вот так всплывающие подсказки есть:
$('#cityName').typeahead(
            {
                  source: [
                 {id: "0", name: "Москва"},
                 {id: "1", name: "Владивосток"}
                 ], 
                autoSelect: true
            });


А так нету, почему так?
function getList(query) {
               return [
                        {id: "0", name: "Киев"},
                       {id: "1", name: "Чернигов"}
                   ]
        }

        $('#cityName').typeahead(
            {
                source: getList,
                autoSelect: true
            });


Если поставить alert в getList, срабатывает постоянно при вводе текста в input
  • Вопрос задан
  • 1067 просмотров
Решения вопроса 1
@bkosun
Вам нужно запустить callback функцию

Пример:
$('#cityName').typeahead(
            {
                source: function (query, handler) {
                           
                            var data = [
                                {id: "0", name: "Киев"},
                                {id: "1", name: "Чернигов"}
                             ]

                            handler(data);
                },
                autoSelect: true
            }
        );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
viktorvsk
@viktorvsk
Зачем функции getList нужен параметр query, который не используется?
source: getList значит передать ссылку на функцию, а не вызвать функцию (что бы получить результат)
вообще, подход какой-то странный, но то, что вы ожидаете, наверное, будет если написать source: getList()

И да, не пользуйтесь алертами.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы