#jquery-ui #autocomplete #jquery-ui-autocomplete
#jquery-пользовательский интерфейс #автозаполнение #jquery-ui-автозаполнение
Вопрос:
$('.searchName').autocomplete({
source: function(req, res){
$.ajax({
url: "{{ route('airportSearch') }}",
dataType: "json",
type: "GET",
data: req,
beforeSend: function() {
$('#iconMaps').hide();
$('#loadingMaps').show();
},
success: function (data){
$('#iconMaps').show();
$('#loadingMaps').hide();
res(data);
console.log(data)
},
error: function(err){
$('#iconMaps').show();
$('#loadingMaps').hide();
}
});
}
}).data('ui-autocomplete')._renderItem = function(ul, item) {
return $('<li>')
.data('ui-autocomplete', item)
.append('<span><b>' item.label '</b></span><br><span>' item.value '</span>')
.appendTo(ul);
}
это мой код, у меня проблема, если в выбранном списке есть ошибка:
Не удается прочитать значение свойства ‘значение’ undefined.
Как устранить эту ошибку?
Комментарии:
1. Добро пожаловать в Stack Overflow. Пожалуйста, приведите пример результата
data
.2. В этом примере результирующие данные [{ Название города: «МАДРИД» метка: «МАДРИД, ИСПАНИЯ» имя: «БЕЗУМНЫЙ АДОЛЬФО СУАРЕС БАРАХАС» значение: «МАДРИД, ИСПАНИЯ, (БЕЗУМНЫЙ)» }]
3. В
data
примере кажется, что,
между парами ключ / значение отсутствуют запятые?4. прошу прощения. Я написал неправильно, должно быть [{ Название города: «МАДРИД», метка: «МАДРИД, ИСПАНИЯ», имя: «БЕЗУМНЫЙ АДОЛЬФО СУАРЕС БАРАХАС», значение: «МАДРИД, ИСПАНИЯ, (БЕЗУМНЫЙ)» }]
Ответ №1:
У меня была аналогичная проблема после обновления версии jQuery, и я исправил ее, применив несколько изменений в data(), как показано ниже:
.data('uiAutocomplete')._renderItem = function(ul, item) {
return $('<li>')
.data('ui-autocomplete-item', item)
.append('<span><b>' item.label '</b></span><br><span>' item.value '</span>')
.appendTo(ul);