2010-01-10 8 views
1

J'ai un certain nombre de contrôles déroulants et sur l'événement de changement, il déclenche ajax getJSON() appels. J'ai un div à côté de chaque liste déroulante avec une image de fileur que je veux afficher "chargement." Comme certains des appels ajax sont chers. Y at-il de toute façon que je peux juste avoir un div diviseur sur la page et que le spinner se déplace juste à côté du contrôle déroulant que j'ai juste changé à ce moment-là. De cette façon, je peux réutiliser un div au lieu de les avoir encore et encore sur la page.est-il un moyen de mettre dynamiquement un spinner à côté d'un contrôle au lieu d'avoir des div partout

Répondre

2

Vous pouvez créer une roulette ou la déplacer. Il est plus facile de tout détruire et de créer un sur la requête ajax je pense ... J'ai quelque chose comme ça lorsque j'appelle à un webservice pour obtenir quelque chose.

$(document.createElement("img")) 
    .attr({ "src": "/Ajax/Spinner.gif" }) 
    .insertAfter(dropDownElementThatWasJustClicked); 

Dans mon cas, je détruire tout à l'intérieur de ce parent et de le remplacer quand je récupérer des données, il détruit la fileuse comme partie.

+0

J'ai essayé cela mais je ne vois pas l'image montrant ... avez-vous besoin d'ajouter une ligne supplémentaire pour que l'image montre ou devrais .appendTo faire par elle-même. J'appelle .appendTo sur l'identifiant de la liste déroulante. est-ce correct? – leora

+0

ah. . ressemble à "insertAfter" a parfaitement fonctionné. . – leora

+0

Ouais désolé à ce sujet, remarqué sur une relecture que .insertAfter() correspondait beaucoup mieux à votre situation, heureux que cela fonctionne maintenant. –