Задать вопрос

Как передать данные ajax-запроса в функцию?

Использую Materializecss Autocomplete.
Если вставить инициализацию автокомплита в результат выполнения функции ajax-запроса, то перестает работать управление клавиатурой (кнопки вверх и вниз).
Введите Apple
Если вынести инициализацию за пределы функции getData, то управление работает нормально
Введите Apple

Вынес инициализацию за пределы функции getData, но не получается передать ассоциативный массив ajaxresponse (результат выполнения ajax-запроса) в переменную data функции $('input.autocomplete').autocomplete.
$(function () {

    var ajaxresponse = {}
    function getData() {
        $.ajax({
            url: 'someurl',
            dataType: "json",
        }).always(function() {
             ajaxresponse = {
                "Apple": null,
                "Apple2": null,
                "Apple3": null
             }
        });
    }
  
    $('input.autocomplete').autocomplete({
       data: ajaxresponse,
       limit: 20,
       onAutocomplete: function (val) {
            // Callback function when value is autcompleted.
       },
       minLength: 1,
    });
  
 
    $("input.autocomplete").keyup(function () {
        getData();
    });
});
  • Вопрос задан
  • 292 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
@Chebaa Автор вопроса
Разобрался, функция Autocomplete начинает глючить если инициатором ajax-запроса является событие keyup.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Xfer
ajaxresponse у вас локальная получается
Ее нужно передать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы