У меня проблема с автозаполнением jquery с данными ajax в качестве источника.Возвращаемые данные являются правильными и не выдают никаких ошибок.Но все равно результаты отображаются не так, как должны.
Я следил за всеми вопросами, связанными с этой проблемой, в stackoverflow.И все указывает на то, что я сделал.Так что это не дубликат ни одного из этих вопросов.
Если я использую данные локальной переменной в качестве источника данных, все работает как положено.Это не проблема с пользовательским интерфейсом, так как один и тот же код используется как для локальных переменных, так и для данных ajax.
Мой код:
$("#dTSearch").autocomplete({
source: function( request, response ) {
$.ajax({
type: "POST",
url: "{{path('dataSearch')}}",
dataType: "json",
data: {
type: "dashboardType",
searchTerm: $("#dTSearch").val()
},
success: function (data) {
if(data.status == 200) {
console.log(data.data);
//response( data.data );
//var dataSet = $.parseJSON(data);
response($.map(data.data, function (item, i) {
//alert(item.value);
return {
id: item.id,
label: item.label,
value: item.value
};
})
);
}
},
error: function (data) {
alert('error!');
console.log(data);
}
});
},
minLength: 3,
select: function( event, ui ) {
alert(ui.item.value);
return false;
},
open: function() {
$(this).autocomplete('widget').css('z-index', 100);
return false;
}
});
$("#dTSearch1").autocomplete({
source: dashboardTypes,
minLength: 3,
select: function( event, ui ) {
$("#onlyFunctionalDiv").show();
},
open: function() {
//$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
$(this).autocomplete('widget').css('z-index', 100);
return false;
}
});
Я использовал метод прямого «ответа» и«Карта» в методе «Ответ».Кажется, ничего не работает.
Когда я утешал результаты и выставлял оповещения, все было в порядке.
На следующих рисунках показаны результаты и журналы консоли, которые я использовал.
Изображение 1: ![enter image description here](https://i.stack.imgur.com/SD7mv.png)
Изображение 2: ![enter image description here](https://i.stack.imgur.com/OROLz.png)
На первом изображении источник является локальной переменной и отображает результаты, когда пользователь начинает печатать.Ниже приведен журнал консоли той же локальной переменной.
Второе изображение для ответа ajax.Когда пользователь вводит «func», он вызывает ajax, а ответ печатает.Но результаты отображаются не так, как должны.Зеленое цветное поле показывает ответ локальной переменной, а красное цветное поле показывает данные ответа Ajax.Оба, кажется, одинаковы.Но чего-то не хватает, и он не отображает результаты, когда набор результатов доступен.
Может кто-нибудь мне помочь, что с этим не так?