Решение CSS
Если загружающий элемент является родственным элементом элемента управления вводом, то можно использовать общий селектор одноуровневого элемента CSS:
.loading {
/* whatever */
}
#autocomplete.ui-autocomplete-loading ~ .loading {
background-image: url(loading.gif);
}
Рабочий пример
jQuery Solution
Вы можете добавить search
и response
обработчики событий.
$("#autocomplete").autocomplete({
delay: 500,
minLength: 3,
source: "/search.json",
search: function () {
$("#loading2").show();
},
response: function () {
$("#loading2").hide();
}
});
Обратите внимание, что этот подход страдает от условий гонки, поскольку (i) запросы AJAX не обязательно заканчиваются в том порядке, в котором они были запущены (ii) автозаполнение может инициировать меньше событий ответа, чем поиск.
Комбинированная демонстрация здесь