2010-02-02 5 views
1

Voici ce que je veux réaliser, j'ai une boîte de sélection qui se charge dans quelques lignes, quand la sélection est changée (onchange) la clé est AJAXed à une fonction PHP qui retourne un tableau Au format JSON, mon code efface alors les options de la boite de sélection et applique les valeurs que je viens de renvoyer de ma fonction PHP, super. Le problème est que lorsque les nouvelles valeurs sont définies, l'événement onchange se déclenche à nouveau, cela définit les valeurs et nous sommes au début d'une boucle sans fin. Firebug attrape l'erreur et la crache.Mise à jour d'une boîte de sélection sans provoquer le changement

Ma question est est-il un moyen de désactiver l'événement onchange afin qu'il se déclenche une seule fois? Je suis en train de coder dans un framework basé sur le prototype, poster un exemple de code serait un peu lourd, mais je peux essayer de remplir les données manquantes sur demande.

À la votre! ILMV

Répondre

1

Utilisation d'une variable indicateur. Ne vous inquiétez pas de l'arrêt de onchange, placez plutôt sa logique dans un conditionnel basé sur une variable d'indicateur.

Fondamentalement, vous allez simplement créer une variable canChange et la définir sur false lorsque vous mettez à jour l'entrée par programmation. Ensuite, dans la logique onchange, vérifiez la valeur de cette variable. Si c'est faux, ne faites rien, mais revenez à true pour l'événement onchange suivant. Si c'est vrai, faites votre requête ajax typique pour de nouvelles données.

+0

Merci pour votre réponse, je me suis dit que je devrais peut-être descendre cette route, je vais aller jouer et rendre compte de mes conclusions :-) –

+0

@ILMV: Bonne chance! – Sampson

+0

A travaillé super, merci beaucoup Jonathan! –

Questions connexes