Информация (json) вида
[
{
"id": 1,
"title": "Фрунзе",
"visible_id": "affiliate",
"url": "link"
},
{
"id": 2,
"title": "Фрунзе 2",
"visible_id": "affiliate",
"url": "link"
}
]
нужно выводить в блок под input, выбрал для себя autocomplete ui. Код:
$(document).ready(function () {
var $input = $('.js-main-autocomplete');
$input.keyup(function () {
var $inputValue = $(this).val();
$input.autocomplete({
source: function (request, response) {
var matcher = new RegExp('^' + $.ui.autocomplete.escapeRegex(request.term), "i");
$.ajax({
type: 'GET',
url: '/affiliate/autocomplete/' + $inputValue,
// url: '../jsapp/layout/test.json',
dataType: 'json',
data: {
maxRows: 12, name_startsWith: request.term
},
success: function (data) {
response($.map(data, function (item) {
var text = item.title;
console.log(text);
if ( text && ( !request.term || matcher.test(text) ) ) {
return {
label: text,
value: text
};
}
}));
}
})
},
minLength: 1,
select: function(event, ui) {
// console.log(ui.item.id);
},
focus: function(event, ui) {
// console.log(ui.item.id);
},
change: function (event, ui) {
// console.log(ui.item.id);
}
});
});
});
Keyup и Keydown работают и выводят значение в Input. По клику на элемент ничего не происходит.
Как исправить?