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

Как передать данные 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 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
@Chebaa Автор вопроса
Разобрался, функция Autocomplete начинает глючить если инициатором ajax-запроса является событие keyup.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Xfer
ajaxresponse у вас локальная получается
Ее нужно передать
Ответ написан
Ваш ответ на вопрос

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

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