web-dev-qa-db-fra.com

jQuery autocomplete: comment afficher une image de chargement gif animé

J'utilise le plugin jQuery AutoComplete combiné avec ajax. Savez-vous comment afficher un indicateur de progression pendant la recherche ajax?

Ceci est mon code actuel.

<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>

L'URL FindUsers renvoie une liste d'utilisateurs dans le contenu.

55
Daniel Peñalba

la saisie semi-automatique ajoute déjà le ui-autocomplete-loading classe (pour la durée du chargement) qui peut être utilisée pour cela ...

.ui-autocomplete-loading { background:url('img/indicator.gif') no-repeat right center }
155
Sam Wilson
$("#autocomplete-textbox").autocomplete
(
search  : function(){$(this).addClass('working');},
open    : function(){$(this).removeClass('working');}
)

où le travail de classe CSS est défini comme suit:

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

[~ # ~] modifier [~ # ~]

Sam's answer est une meilleure approche pour résoudre le problème

47
Dalen

Si aucun résultat ne fonctionne, vous pouvez le faire:

$("input[name='search']").autocomplete({
...,
select: function( event, ui ) {
action show image
}   
}).data( "autocomplete" )._renderItem = function( ul, item ) {
action hide image
}
1
David