Ответ 1
autocomplete уже добавляет класс ui-autocomplete-loading
(на время загрузки), который можно использовать для этого...
.ui-autocomplete-loading { background:url('img/indicator.gif') no-repeat right center }
Я использую плагин 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 возвращает список пользователей в контенте.
autocomplete уже добавляет класс ui-autocomplete-loading
(на время загрузки), который можно использовать для этого...
.ui-autocomplete-loading { background:url('img/indicator.gif') no-repeat right center }
$("#autocomplete-textbox").autocomplete
(
search : function(){$(this).addClass('working');},
open : function(){$(this).removeClass('working');}
)
где CSS-класс работает следующим образом:
.working{background:url('../img/indicator.gif') no-repeat right center;}
ИЗМЕНИТЬ
Sam answer - лучший подход для решения проблемы.
Если результатов нет, вы можете сделать это:
$("input[name='search']").autocomplete({
...,
select: function( event, ui ) {
action show image
}
}).data( "autocomplete" )._renderItem = function( ul, item ) {
action hide image
}