gestion de 3 comboBox liés entre elles
Bonjour,
Je vous explique concretement mon probleme ... Désolé pour la longueur ... Mais je prefere etre clair ...
J'ai une premiere combobox qui contient une liste de pays. Une fois qu'elle est remplie, elle permet d'une part de sélectionner une donnée dans trois autres, affichant des institutions, et doit permettre d'autre part de n'afficher que les institutions du pays sélectionné. Jusque la, ca va, à priori : des que le pays est choisi, je recharge le formulaire par un submit et hopm le tour est joué.
C après que ca se corse .... Les 3 comboBox de l'institution contiennet respectivement un acronym (ex. : DDE), le nom en francais (ex. : Direction Departemental de l'equipement) et le nom en anglais. Chacune des trois comboBox doivent etre triés par ordre alphabétique.
Ensuite, une fois qu'on a sélectionné une informaiton est sélectionné dans l'une des 3 comboBox, les deux autres doivent automatiquement afficher la même informaiton. Coincretement, Si DDE est choisi dans la comBo Acronyme, son nom en francais et en anglais doit etre sléectionné dans les deux autres ComboBox.
Alors a priori, je dois utiliser un tableau par ComboBox. Je comptais, dans chaque tableau avoir l'informaition à placer dansla comboBox et l'id de l'institution. Li'dée est la suivante :
Si je choisis DDE dans la Comco Acronyme, une fonciton Javascript va chercher dans le tableau des noms en francais et en anglais l'id correspondant et du coup afficher les infos correspondantes dans les combo.
Maismon probleme, c'est que l'objet Array semble ne pas contenir de fonction de recherche. Du coup, je dois partir dans une bouce de test sur l'id ...
Ce uqi me fait dire que je pars peut etre en live sur le coup la ... N'est ce pas un peu compliqué, par rapport a ce que je veux faire ??? Je voudrais pas non plus créer une usine à gaz ....
Je suis donc ouvert à toute suggestion ...
Merci d'avance !!!
Re: gestion de 3 comboBox liés entre elles
Citation:
Envoyé par michaelbob
Ce uqi me fait dire que je pars peut etre en live sur le coup la ... N'est ce pas un peu compliqué, par rapport a ce que je veux faire ??? Je voudrais pas non plus créer une usine à gaz ....
Pourquoi chercher à faire 3 combo-box alors que tu veux qu'elles soient liées rigidement entre elles? Pour faciliter la recherche selon les trois criteres (acronyme, nom en francais, nom en anglais)? Ne serait-ce plus simple de choisir le type qu'on veux selectionner (bouton radio) et de n'afficher qu'une seule liste?
Sinon, sur ton problème, je pense que tu as interet à faire une seule Array contenant des Array de longueur 3 dans laquelle tu aurais à chaque fois l'acronyme, le nom fr et le nom en. De cette façon, la recherche se fera en un parcours simple (pas d'autre façon de faire) et tu retrouveras toutes tes informations.
Une autre façon de simplifier ta recherche est de mettre dans chacune de tes combobox:
Code:
<option value='EtalissementId'>nom en fr</option>
Tu indexes toutes les combobox de la même façon, par l'identifiant de l'établissement (un entier de 1 à n) et dans ce cas, dès qu'une des combobox change, tu as uniquement a rechercher la même value dans les autres combobox (très simple avec le selectedIndex). Ca impose cependant que toutes les listes soient triées dans le même ordre.
Si ce n'est pas le cas, il faudra les parcourir pour retrouver le bon index d'etablissement...
Bonne chance :wink: