/ / jQuery Typeahead - Uncaught TypeError: Не вдається прочитати властивість 'name' undefined - javascript, jquery, html, twitter-bootstrap, typeahead.js

jQuery Typeahead - Uncaught TypeError: Неможливо прочитати назва властивості undefined - javascript, jquery, html, twitter-bootstrap, typeahead.js

Я використовую Плагін Bootstrap-3 Typeahead а також Плагін введення тегів завантажувальної теги. Я використовую це так:

<input type="text" id="name" name="test" data-provide="typeahead">

І jQuery:

$.get("/design/assets/advertisements/countries.json", function(data) {
$("#name").typeahead({
source: data
});
$("#name").tagsinput({
typeahead: {
source: data
}
});
}, "json");

Однак typeahead і теги працюють до певного моменту. Щоразу, коли я ввожу деякі слова, я отримую пропозиції, але коли б я вибрав пропозицію, те, що я писав, буде додано після введення тегу.

Приклад: Якщо я напишу "Bah"та виберіть"Bahamas", це виглядає приблизно так: (Де я вважаю, що це видалить" Ба "

введіть опис зображення тут

Я отримую цю помилку - я не знаю, чи це причина:

Uncaught TypeError: Cannot read property "name" of undefined

У цьому файлі викликається помилка: bootstrap3-typeahead.js

Відповіді:

5 за відповідь № 1

Я завантажив нехвилинну версію плагіна bootstrap-3 typeahead і змінив це:

displayText: function(item) {
return item.name || item;
},

до цього

displayText: function(item) {
if (typeof item == "undefined") {
return "";
}
return item.name || item;
},

Це вирішило проблему.

Насправді я не знаю, чи це помилка плагіну bootstrap-3 typeahead або якась невідповідність плагіну для введення тегів bootstrap, який я використовую.