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

Как передать данные 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();
    });
});
  • Вопрос задан
  • 290 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@Chebaa Автор вопроса
Разобрался, функция Autocomplete начинает глючить если инициатором ajax-запроса является событие keyup.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Xfer
ajaxresponse у вас локальная получается
Ее нужно передать
Ответ написан
Ваш ответ на вопрос

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

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