Я пытаюсь сделать ввод автозаполнения, как это иногда случалось в прошлом. Но сегодня мне приходится сталкиваться с проблемой, которую я не могу понять.
$( "#search_collab_autocomplete" ).autocomplete({
appendTo :$('.form-add-new-user'),
source : function(requete, response){
$.ajax({
url : $('.form-add-new-user').data('url'),
dataType : 'json',
data : {
email : $('#search_collab_autocomplete').val(),
},
success : function(data){
var arr = [];
var i = 0;
var fullObj = data;
$.each(data, function(index, value){
var obj = {
id: index,
email: value,
};
arr[i] = obj;
i++;
});
response(arr, fullObj);
},
select: function( event, ui ) {
console.log("hi");
}
});
},
minLength: 3
}).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" ).data("item.autocomplete", item)
.append( "<a>"+item.email + "</a>")
.appendTo( ul );
};
У меня есть этот код, который частично работает, потому что я вижу список результатов juste ниже моего поля ввода.
Но когда я нажимаю/когда я выбираю элемент с клавиатурой, я не вижу ничего, что происходит... даже не простая console.log('hi');
...
Я использую неправильный select
?
Ваш "выбор" прикреплен к $.ajax. Он должен быть на том же уровне, что и "источник" и "minLength".
[{label, value}]
парах в ваших данных результатов, которые отправляются вresponse()
select
событие никогда не запускается ...