Автозаполнение jQuery: как показать изображение загрузки анимированного GIF - PullRequest
55 голосов
/ 20 декабря 2010

Я использую плагин jQuery AutoComplete в сочетании с ajax.Знаете ли вы, как я могу показать индикатор прогресса во время выполнения поиска ajax?

Это мой текущий код.

<script type="text/javascript">
    $("#autocomplete-textbox").autocomplete('http://www.example.com/AutoComplete/FindUsers');
</script>

<div>
    <input type="text" id="autocomplete-textbox" />
    <span class="autocomplete-animation"><img id="ajaxanimation" src="../img/indicator.gif")"/></span>
</div>

URL-адрес FindUsers возвращает список пользователей в содержимом.

Ответы [ 3 ]

154 голосов
/ 22 февраля 2011

автозаполнение уже добавляет класс ui-autocomplete-loading (на время загрузки), который можно использовать для этого ...

.ui-autocomplete-loading { background:url('img/indicator.gif') no-repeat right center }
47 голосов
/ 20 декабря 2010
$("#autocomplete-textbox").autocomplete
(
search  : function(){$(this).addClass('working');},
open    : function(){$(this).removeClass('working');}
)

где класс CSS работает следующим образом:

.working{background:url('../img/indicator.gif') no-repeat right center;}

EDIT

ответ Сэма - лучший подход к решению проблемы

1 голос
/ 08 сентября 2011

Если результаты не работают, вы можете сделать это:

$("input[name='search']").autocomplete({
...,
select: function( event, ui ) {
action show image
}   
}).data( "autocomplete" )._renderItem = function( ul, item ) {
action hide image
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...