2013-08-22 6 views
0

Я не уверен, что я делаю неправильно с плагином Twitter Typeahead для загрузки. Typeahead даже не делает запрос Ajax (я вижу в средствах разработки Chrome, что запрос не выполняется).Twitter Плагин Typeahead не запрашивает сервер

Вот мой Html:

<input type="text" id="BookSearch"/> 

Вот мой машинописный код:

$("#BookSearch").typeahead([{ 
     name: "google-books-search", 
     remote: "/Book/GoogleBookSearch?query=%QUERY", 
     template: [ 
      "<img src='{{SmallThumbnailImageUrl}}' />", 
      '<p>{{Title}}</p>', 
      '<p>{{Authors}}</p>' 
     ].join(), 
     engine: Handlebars 
    }]); 

я могу проверить, что загружен Рули. Я могу проверить, что Typeahead инициализируется И что он находит элемент управления BookSearch (я просмотрел код Typeahead, чтобы увидеть это).

Однако, похоже, что код Typeahead никогда не принимает никаких событий. Я поставил точки останова в Focus, Blur и SpecialKeys (и каждый другой обработчик событий), и ничто не распознается.

Я также попытался прокомментировать строки шаблона и двигателя из приведенного выше кода и просто дать Bootstrap сделать запрос для данных, которые он не распознает, но это также не работает.

Я могу перейти на удаленный URL-адрес и убедиться, что данные действительно возвращаются. Но, опять же, Typeahead даже не пытается.

Что мне не хватает?

ответ

0

Хорошо, так что я нашел А.Н. ответа на этот вопрос, но ответ не имеет большой смысла для меня:

При переходе через загрузчик (2.3.2) код, я заметил, что код плагин Typeahead был значительно меньше, чем код, указанный на https://github.com/twitter/typeahead.js. Например, почти ничего не было, кроме обработчиков событий.

Итак, я создал пользовательскую загрузку Boostrap, которая НЕ включала плагин Typeahead, а затем отдельно указывала плагин Typeahead в коде. И это не сработало.

Я не уверен, почему Typeahead, встроенный в Bootstrap 2.3.2, не работал, но включая Typeahead сам по себе решил мою проблему.

Если я не получу лучшего ответа, чем это через пару дней, я пойду дальше и приму это в качестве ответа. Но, надеюсь, у кого-то есть лучшее решение.

+1

Плагин typeahead, включенный в Bootstrap, на самом деле не такой, как автономный, который вы пытаетесь использовать, и они работают совсем по-другому. Из-за имен легко их путать. – Dhaulagiri

Смежные вопросы