2 combobox liés entre elles

Résolu
dartaloufe Messages postés 35 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 22 août 2005 - 27 juil. 2005 à 17:02
ocean_big_one Messages postés 7 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 22 novembre 2006 - 7 déc. 2005 à 18:38
Bonjour,
voila mon souci : dans un formulaire j'ai deux combobox et je souhaite ke lorsqu'on selectionne un item dans le premier combobox (nommée filière)
la liste des choix possible soit modifier dans le second combobox ( nommée cadre_emploi) .
j'ai utiliser
la function :

_root.filiere.change = function()
{
if(_root.filiere.value == "administrative")
{
_root.cadre_emploi.removeAll();
_root.cadre_emploi.addItem("administrateur","administrateur");
_root.cadre_emploi.addItem("attaché","attaché");
_root.cadre_emploi.addItem("rédacteur","rédacteur");
_root.cadre_emploi.addItem("adjoint administratif","adjoint administratif");
_root.cadre_emploi.addItem("agent administratif","agent administratif");
}
if(_root.filiere.value == "technique")
{
_root.cadre_emploi.removeAll();
_root.cadre_emploi.addItem("ingénieur","ingénieur");
_root.cadre_emploi.addItem("technicien supérieur","technicien supérieur");
_root.cadre_emploi.addItem("contrôleur de travaux","contrôleur de travaux");
_root.cadre_emploi.addItem("agent de maîtrise","agent de maîtrise");
_root.cadre_emploi.addItem("agent de salubrité","agent de salubrité");
_root.cadre_emploi.addItem("agent technique","agent technique");
_root.cadre_emploi.addItem("conducteur","conducteur");
_root.cadre_emploi.addItem("agent d’entretien","agent d’entretien");
}
if(_root.filiere.value == "culturelle")
{ ....}
}

mais ca ne marche pas
j'ai egalement tester ce code dans le gestionnaire de ma combobox filiere :

on(change)
{
if(_root.filiere.value == "administrative")
{
_root.cadre_emploi.removeAll();
_root.cadre_emploi.addItem("administrateur","administrateur");
_root.cadre_emploi.addItem("attaché","attaché");
_root.cadre_emploi.addItem("rédacteur","rédacteur");
_root.cadre_emploi.addItem("adjoint administratif","adjoint administratif");
_root.cadre_emploi.addItem("agent administratif","agent administratif");
}
if(_root.filiere.value == "technique")
{
_root.cadre_emploi.removeAll();
_root.cadre_emploi.addItem("ingénieur","ingénieur");
_root.cadre_emploi.addItem("technicien supérieur","technicien supérieur");
_root.cadre_emploi.addItem("contrôleur de travaux","contrôleur de travaux");
_root.cadre_emploi.addItem("agent de maîtrise","agent de maîtrise");
_root.cadre_emploi.addItem("agent de salubrité","agent de salubrité");
_root.cadre_emploi.addItem("agent technique","agent technique");
_root.cadre_emploi.addItem("conducteur","conducteur");
_root.cadre_emploi.addItem("agent d’entretien","agent d’entretien");
}
if(_root.filiere.value == "culturelle")
{ ....}
}

Toujours sans succes

j'ai chercher partout sur le site je n'est pas trouver de reponse a ma question.
quelqu'un pourrait-il m'aider

11 réponses

_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
27 juil. 2005 à 22:00
essais comme ca :



// on crée les preliste a affiché, dit dataProvider

emploisAdministratifs = new Array();

emploisAdministratifs.push({label:"administrateur", data:"administrateur"});


emploisAdministratifs.push({label:"attaché", data:"attaché"});


emploisAdministratifs.push({label:"rédacteur", data:"rédacteur"});

//...



emploisTech = new Array();

emploisTech.push({label:"ingénieur",data:"ingénieur"});


emploisTech.push({label:"technicien supérieur",data:"techsup"});

//...



var ecouteur= new Object();

ecouteur.change = function(evt){

if (evt.target.selectedItem.label == "administrative"){

cadre_emploi.dataProvider = emploisAdministratifs;

} else if (evt.target.selectedItem.label == "technique"){


cadre_emploi.dataProvider = emploisTech;


}

}

filiere.addEventListener("change",ecouteur);

Flash sans Limites
_Benjy
3
dartaloufe Messages postés 35 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 22 août 2005
28 juil. 2005 à 14:30
Tros fort Benjy ca marche super !!!
0
ocean_big_one Messages postés 7 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 22 novembre 2006
5 déc. 2005 à 17:45
Je viens de tester la solution _benjy, mais rien ne se passe ( comme si l'écouteur ne fonctionnait pas). J'ai remplacé tout le code dans l'ecouteur par : trace("ok");

toujours sans resultat. Y-a-il qqch de particulier a faire avant pour que se code fonctionne ?

Merci
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
5 déc. 2005 à 18:02
Salut

les ecouteur fonctionnent a patir de mx 2004 pas av c p'etre ca ca sinon ca marche ;)
++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0

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

Posez votre question
ocean_big_one Messages postés 7 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 22 novembre 2006
5 déc. 2005 à 18:10
malheureusement pour moi.. je suis bien en mx 2004. J'ai fait le test suivant :

directement sur le combobox :

on (change) {
trace (this);
}

--> ca ne donne rien

j'ai testé aussi directement sur le combobox :
on (release) {
trace (this);
}

--> ca donne :_level0.mcBoite.mcCollection

Le composant que j'utilise n'est pas un composant mx2004 (mx seulement) est-ce que ca vient de la ?
si oui, qu'elle est la soluce pour recuperer la valeur selectionné apres un changement ?

merci
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
5 déc. 2005 à 19:44
Salut

tu t'es planté ou t'as une merde d'install (ex Flash Craké)
désolé
++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
ocean_big_one Messages postés 7 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 22 novembre 2006
5 déc. 2005 à 20:26
non plus... j'ai l'ai acheté... (ca se fête... ca fait pas longtemps!)...

Je galère vraiement

Voici un exemple simplifié de mon problème :

http://morey.free.fr/fla/test.fla

En ce qui concerne les prob d'install, si ca vient dela... qu'est ce que je peux faire ? (j'ai deja essayé de reinstaller et j'ai fait les mise à jour sur le site de macromedia)

merci de ton aide en tout cas,

A+
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
6 déc. 2005 à 00:55
Salut

J'ai plutot du mal a croire que t'as bien mx 2004 vu que c les composant Flash mx que tu utilises
bizar....
donc si t'as vraiment mx 2004 utilise les composant mx 2004 et non les mx
sinon sur le composant mx, y'a pas d'ecouteur ! donc normal que ca marche pas :)
pour ton composant moi j'ai pas l'aide sur les composant mx et je me rapel plus du nom exact de la fonction pour la selection, mais si tu fais :
for (var i in mcCollection){
trace (i)
}
Flash va te lister tt les propriete et methode de ton obj,
j'y vois un setChangeHandler, y'a surement un changeHandler avec ou un truc du genre, look dans ton aide
++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
ocean_big_one Messages postés 7 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 22 novembre 2006
6 déc. 2005 à 09:32
Merci,

Tu as mis le doigt sur le problème, j'utilise bien flash mx2004, mais j'utilise un composant flash mx. Je n'arrive pas a utilisé le "setchangehandler()" (probablement un conflit de version du coup). Je viens d'essayer avec le composant mx2004 ca marche, le hic, c'est que j'ai du mal a redessiner correctement les composant mx2004... (forme carré, et changement de couleur). Si tu connais un lien avec de l'aide la dessus je suis preneur. Mais je vais chercher un peu...

Encore Merci.

ps : pratique le coup du :
for (var i in mcCollection){
trace (i)
}

je connaissais pas... mais c'est bien utile.
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
6 déc. 2005 à 10:37
Salut

look les style css pour composant dans l'aide
++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
ocean_big_one Messages postés 7 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 22 novembre 2006
7 déc. 2005 à 18:38
Salut,

je me suis debrouillé avec l'aide, j'utilise les styles css pour les couleurs et j'ai modifié l'enveloppe manuellement pour la forme.

Voila mon nouveau problème :
Je ne trouve pas comment modifier la hauteur de la combobox en elle même . (pas de problème avec la hauteur des lignes)

mcCollection.setStyle("fontFamily","Verdana");
mcCollection.setStyle("color",0x000000);
mcCollection.setStyle("rollOverColor",0x999999);
mcCollection.setStyle("textRollOverColor",0xffffff);
mcCollection.setStyle("selectionColor",0xdddddd);
mcCollection.setStyle("textSelectedColor",0x000000);
mcCollection.setStyle("borderStyle", "solid");
mcCollection.setStyle("borderColor", 0x000000);
mcCollection.dropdown.setRowHeight(16);
mcCollection.dropdownWidth=mcCollection.width-1;

Si quelqu'un a une piste ?..je suis preneur

euh... une question comme ca: Est-ce que je dois posté ma question sur un autre sujet ou je peux continuer mes questions ici ?

merci A+
0
Rejoignez-nous