У меня есть эта проблема с Bootstrap Typeahead.BS Typeahead не отображает результаты
HTML Markup:
<div class="form-group">
<label for="">Recipients</label>
<input id="recipients" name="recipients"
autocomplete="off"
class="form-control"
data-role="tagsinput">
</div>
JavaScript:
$('#recipients').tagsinput({
allowDuplicates: false,
trimValue: true,
confirmKeys: [13, 44],
typeahead: {
source: function(queryForHints) {
if (queryForHints.length < 4)
return '';
var parameters = {
'queryForHints': queryForHints
};
jQuery.ajax({
url: "/xxxx/xxxx",
data: parameters,
type: "POST",
dataType: "json",
success: function(data) {
return (data);
},
error: function(data) {
console.log("error for xxxxx/xxxxx");
},
async: true
});
}
}
});
После Ajax позвонить я получаю этот массив:
[{
"value": "+393334029137",
"text": "Dean Leandra (+393334029137)"
}, {
"value": "+393333419836",
"text": "Alfonso Erasmus (+393333419836)"
}, {
"value": "+393173833341",
"text": "Travis Aquila (+393173833341)"
}, {
"value": "+393334998841",
"text": "Conan Preston (+393334998841)"
}]
Проблема заключается в том: Я ничего не вижу :(ничего не появляется . typeahead не работает.
В консоли, я получаю эту ошибку
bootstrap-tagsinput.js:331 Uncaught TypeError: Cannot read property 'success' of undefined
Можете ли вы помочь мне решить эту проблему?
Что такое null в массиве вызовов AJAX? Опечатка? – James
Теперь я решил проблему, предложенную вами ... теперь вернулся из AJAX вызова у меня есть: [{ «значение»: «+393334029137», «Текст»: «Дин Леандр (+393334029137)» }, { "значение": "+393333419836", "текст": "Альфонсо Эразмус (+393333419836)" }, { "значение": "+393173833341", "текст": «Трэвис Aquila (+393173833341) " }, { " value ":" +393334998841 ", " текст ":" Conan Preston (+393334998841) " }] –
помогите нам помочь вам. вам нужно четко понять три вещи. 1. какую версию бутстрапа вы используете. 2. какой плагин вы используете 3. есть ли нуль после массива в ответе от ajax-вызова – naveen