Se connecter avec
S'enregistrer | Connectez-vous

Cherche menu déroulant dynamique à 4 niveaux

Dernière réponse : dans Programmation

Bonjour, a l'inscription sur mon site on peut indiquer sa situation géographique. Il y a le pays, la région, le département et enfin la ville. Je voudrai que tout soit en lien dans des menus déroulants. Par exemple, la personne choisi en premier France, puis un second menu aparait et elle choisi Rhône-alpes puis le troisième menu avec le département (Ain) puis la ville dans un 4 ème menu déroulant (bourg-en-bresse). Je suis nul en javascript et j'ai chercher pendant plusieur jours sur des centaines de sites mais aucun ne fonctionnait correctement! Est-ce que quelqu'un peut m'aider?

Merci

Ps: je cherche juste le principe de liaison. Après je me débrouillerai pour mettre les ville bien-sur!
Lassé par la pub ? Créez un compte
Expert Programmation

- tu fais une fonction qui récupère les régions en fonction du pays
- tu fais une fonction qui récupère les départements en fonction de la région
- tu fais une fonction qui récupère la ville en fonction du département

(Sinon tu peux faire une seule fonction un peu plus générique qui peut te permettre de mettre les 3 dans une)

Et sur tes <select>, tu fais un onchange="tafonction(this.selectedIndex);" en passant l'id sélectionné, qui est this.selectedIndex.

Voilà
Expert Programmation

si c'est dans une BDD c'est plus simple pour toi.

Après tu as deux choix, un un peu bourrin :
- tu écris en PHP des tableaux javascript dans lequel tu mets tous les pays/ etc...
Exemple :
  1. <?php echo '<script type="text/javacript">
  2. var pays = new Array();';

(... là tu écris ce que tu obtiens avec ta BDD... de telle manière que ça soit utilisable en javascript)
donc par exemple :

La liste de tes pays :
  1. echo 'pays[0] = "France";pays[1]="Suisse";....';

La liste de tes régions pour le pays 0 =
  1. echo 'pays[0] = new Array();pays[0][1] = "Ile de France";pays[0][2] = "PACA"';


Puis c'est le même principe pour le reste.

Puis sinon la méthode moins bourrine, c'est d'utiliser XmlHTTPRequest pour envoyer des requêtes à ton serveur pour récupérer les régions en fonction d'un ID de pays quand tu fais un onchange
Expert Programmation

bah tu changes de tableau...
quand tu choisis France, tu sélectionnes le tableau pays[0], avec toutes ses données...
quand tu choisis Suisse, tu sélectionnes le tableau pays[1] avec toutes ses données
etc...

Franchement je suis completement pommé! J'ai compris l'histoire du tableau mais après je ne vois pas dutout comment tu fait pour afficher les données dans la liste déroulante! Je suppose que tu fais une boucle mais je vois pas comment et ou placer ma fonction.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde