0

Я интегрирован Bootstrap tags input с Bootstrap 3 Typeahead вводом данные обеспечивают на поле ввода, как это:Bootstrap теги вход с Bootstrap 3 ошибкой машинописной

<input type="text" name="search" id="search" data-provide="typeahead" autocomplete="off"> 

И инициализацию это в моем файле JS, как:

$('#search').tagsinput({ 
    confirmKeys: [44], 
    typeahead: { 
     source: $.getJSON('/Functions/hints.php') 
    } 
}); 

Все работает отлично, hints.php отправляет json, work-work, теги работают, но у меня проблема, когда я пытаюсь добавить элемент из предложенного списка. Например, я хочу найти «одежду», я набираю «cl» и «Предлагает одежду», я выбираю этот элемент из списка «выпадающего списка», и он вставлен как тег, но проблема в том, что «cl» остается в поле ввода, и я получаю сообщение об ошибке: «TypeError: undefined не является объектом (оценка« data [option] .apply »).

Я также заметил, что он работает нормально, если я начинаю вводить термин, который doesn 't предлагать что-либо (не запускает typeahead), он будет превращен в тег без проблем, и ввод становится понятным после того, как он превратится в тег. Я получаю эту ошибку только после инициализации typeahead. введите не предлагающие слова до тех пор, пока я хочу, и он работает нормально, но как только я напечатаю письмо, которое дает мне некоторое предложение с этого момента, я всегда получаю указанную ошибку независимо от того, распознана ли буква, и я получаю что-то предлагаемое или нет, и если я выберу элемент из списка или введите свое слово.

Я испробовал исправление, упомянутое в xclicit на этом link, и я попробовал написать некоторый специальный код, чтобы очистить поле, но я всегда получаю какую-то ошибку и не могу очистить поле ввода.

ответ

0

Конечно, уже слишком поздно, но я все равно отвечу.

Я столкнулся с подобной проблемой и использовал одно обходное решение.

Существует функция в бутстраповских-tagsinput.js, что обновление списка тегов и возвращает текст в машинописный (строка 329):

 updater: function (text) { 
     self.add(this.map[text]); 
     return this.map[text]; 
     }, 

Я не знаю, почему, но она возвращает текст тега в поле ввода. Поэтому я просто изменил этот код на:

 updater: function (text) { 
     self.add(this.map[text]); 
     return ""; 
     }, 

Не работает.

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