2010-01-06 8 views
1

Je rencontre un comportement étrange après avoir ajouté des options à un select via ajax. Après l'ajout des éléments à la sélection, je souhaite sélectionner l'un des éléments de la liste en fonction de la valeur.Impossible de modifier la valeur de sélection après l'ajout d'options

J'ai essayé le RIGHT après j'ai appelé la fonction qui ajoute les options pour la sélection

fillSelect("someAjaxServerVar"); 
$("#theSelect").val("somevalue"); 

Bizarrement, la 2ème ligne est pas exécutée ou ne fonctionne pas. Ce qui est encore plus étrange est que je posai la 2ème ligne comme un clic séparé pour un bouton de test:

$("#testButton").click(function() { 
    $("#theSelect").val("somevalue"); 
}); 

Les travaux ci-dessus, mais je veux être en mesure de changer la valeur à une certaine option dès la sélectionnez est rempli.

+0

Que fait 'fillSelect'? – David

Répondre

2

Il semble que vous puissiez effectuer un appel asynchrone. C'est-à-dire qu'il exécute la deuxième ligne AVANT toutes les actions de la première ligne sont terminées. Si c'est le cas, mettez tout votre code suivant dans un rappel.

+0

Cela a fonctionné. Existe-t-il un moyen de différer l'exécution jusqu'à ce que la fonction précédente soit terminée (dans ce cas, la fonction de rappel de l'Ajax)? – Omar

+0

mettre ce code dans le rappel. – nickf

+0

En plus de ça? – Omar

Questions connexes