Trier un xml via combobox

Résolu
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011 - 27 juin 2008 à 16:38
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011 - 1 juil. 2008 à 10:44
Hello,

Tout est dans le titre :)

J'affiche l'ensemble de mes continents dans une combobox... je souhaiterai ensuite que ma 2e combobox contienne des données par rapport a la 1ere...
Exemple:

Je selectionne EUROPE dans la 1ere combobox.... la 2e affiche tout les pays d'europe...
Toutes les données sont dans un xml.

Help:)
Merci.

7 réponses

blunt1337 Messages postés 72 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 11 octobre 2011
1 juil. 2008 à 09:40
alors z est une variable de 0 jusqu'a la longeur du tableau, en fait for (z in tableau) { remplace for (i=0;i<tableau.length;i++) {
tu peux prendre for (i in tableau) { si tu veux. ^^
ensuite pour le tableau :
monXml = new XML();
monXml.load("xml.xml");
monXml.ignoreWhite = true;
tableau = new Array();
monXml.onLoad = function(ok) {
    if (ok) {
        noeud = this.firstChild;
        for (i=0; i<noeud.childNodes.length; i++) {                     _root.tableau.push([noeud.childNodes[i].attributes.name,noeud.childNodes[i].attributes.adress,noeud.childNodes[i].attributes.pays]);
        }
    }
};
et dans la frame ,quand tu changes le 1er combobox :
listenerObject = new Object();
listenerObject.change = function(eventObject) {
    _root.combo2.removeAll();
    for (z in _root.tableau) {
        if (_root.tableau[z][2] == _root.combo1.selectedLabel) {
            _root.combo2.addItem(_root.tableau[z][0],_root.tableau[z][1]); //name dans le label et adress dans le data
        }
    }
};
combo1.addEventListener("change",listenerObject);
3
blunt1337 Messages postés 72 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 11 octobre 2011
28 juin 2008 à 14:48
Slt, tu peux donner un petit morceau de ton xml pour voir la forme ?
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
30 juin 2008 à 09:11
Hi,

En fait j'ai 2 xml.

Le 1er liste les continents et les pays:
<root>
    <cont id="1" name="europe">
      
       ...
    </cont>
    ...
</root>

Le 2e, liste des magasins:
<root>
    <mag id="1" name="mag01" adress="adressmag01" pays="france" />
    ...
</root>

Donc la 1ere combobox affiche les continents, la 2e combobox liste les pays suivants le continent selectionné, la 3e combobox liste les magasins suivant le pays selectionné...

merci
0
blunt1337 Messages postés 72 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 11 octobre 2011
30 juin 2008 à 10:43
Ben alors tu charges les 2 xml, le 1er tu le met dans le combobox et le 2eme sous forme de tableau [[id,name,..],[id,name...],..]
et quand tu choisi un pays dans le 1er combobox, tu charges dans le 2eme ceuxx qui on le meme id :

//vide le 2eme combobox
for (z in tableau) {
    if (tableau[z][0] == id_du_1er_combobox) {
       //tu l'ajoute au 2eme
    }
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
30 juin 2008 à 12:11
merci. j'ai oublier de specifier que j'etais sous flash 8 :-)

Merci encore
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
30 juin 2008 à 17:31
A quoi fais reference "z" ?

Comment créer un tableau avec mon 2e xml ?

merci
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
1 juil. 2008 à 10:44
Merci beaucoup pour tes reponses. enfin réussi :-) eheh
0
Rejoignez-nous