Bootstrap 3 Typeahead не показывает результаты

Я использую Bootstrap 3 Typeahead с помощью вызова ajax.
Функция возвращает правильно данные, но они не отображаются.

Вот мой код:

$('#txtComune').typeahead({
minLength: 2,
delay: 400,
items: 5,
source: function (query, response) {
$.ajax({
url: '<?= $root; ?>/get_comuni',
dataType: "json",
type: 'POST',
data: {
query: query
},
success: function (data) {
response(data.comuni);
}
});
},
displayText: function (item) {
console.log(item.comune);
return item.comune;
}
});

Функция console.log возвращает названия всех городов, но раскрывающийся список не отображается в текстовом поле.

Вот мой текстовый код:

<input name="txtComune" class="form-control input-md" data-provide="typeahead" autocomplete="off" id="txtComune" type="text" placeholder="" maxlength="250">

Вот мои результаты JSON:

{
"exception": false,
"comuni": [{
"idComune": 1332,
"comune": "Caraffa di Catanzaro",
"pv": "CZ",
"cap": "88050",
"attivo": 1
}, {
"idComune": 1831,
"comune": "Catania",
"pv": "CT",
"cap": "951xx",
"attivo": 1
}, {
"idComune": 1832,
"comune": "Catanzaro",
"pv": "CZ",
"cap": "88100",
"attivo": 1
}, {
"idComune": 3240,
"comune": "Gravina di Catania",
"pv": "CT",
"cap": "95030",
"attivo": 1
}, {
"idComune": 4076,
"comune": "Militello in Val di Catania",
"pv": "CT",
"cap": "95043",
"attivo": 1
}, {
"idComune": 6258,
"comune": "San Gregorio di Catania",
"pv": "CT",
"cap": "95027",
"attivo": 1
}]
}

0

Решение

Пожалуйста, измените это:

source: function (query, response) {
$.ajax({
url: '<?= $root; ?>/get_comuni',
dataType: "json",
type: 'POST',
data: {
query: query
},
success: function (data) {
response(data.comuni);
}
});
}

К

source: function (query, response) {
return $.get('<?= $root; ?>/get_comuni', { query: query }, function (data) {
console.log(data);
return response(data);
});
}

Вот пример: jsfiddle

1

Другие решения

Других решений пока нет …