JQuery UI Автозаполнение событий и пустой ответ - PullRequest
0 голосов
/ 21 марта 2011

Я использую jQuery UI Автозаполнение поиска и открытия событий. Но событие open вызывается только тогда, когда запрос выполнен успешно и есть элементы. Кажется, что нет события, когда ответ успешен, но пустой.

Я отображаю и скрываю логотип счетчика при запуске запроса, например:

search: function() {
  $('.spinner').show();
},
open: function() {
  $('.spinner').hide();
}

Это хорошо работает, когда в ответе сервера есть элементы, но если ответ сервера пуст, спиннер остается навсегда ...

Спасибо за ваши ответы.

PS: я не одинок: уберите счетчик из jquery ui, если ничего не найдено ;)

Ответы [ 3 ]

1 голос
/ 14 февраля 2013

Начиная с jQuery UI v1.9, вы можете сделать что-то вроде следующего:

$('#field').autocomplete({
  source: source_url,
  search: function(event, ui) {
    $('#spinner').show();
  },
  response: function(event, ui) {
    $('#spinner').hide();
  }
});
0 голосов
/ 17 августа 2011

Если вы застряли на более старой версии jQuery ui, правильный ответ - использовать класс ui-autocomplete-loading, который добавляется и удаляется во время выполнения запроса / ответа.

0 голосов
/ 21 марта 2011

Это известное открытое улучшение для будущих версий jQuery UI ...

http://bugs.jqueryui.com/ticket/6777

Придется подождать и / или использовать обходной путь (например, отправка специального ответа отсервер и обработать этот случай в открытом событии).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...