chelguera
Membre récent

Hors-Ligne
Messages: 1

Je suis un lama!
|
bonjour,
voilà j'ai un gros soucis.. et bien qu'avant de poster j'ai cherché donc je m'adresse à vous pour m'aider.
voila, j'ai un fichier ".js" qui contient les donées pays, region, ville sous forme
pays=new Array(); region=new Array(); ville=new Array();
pays[1]=new Array('1','Belgique','2','France'); region[1]=new Array('1','Bruxelles','2','Liège','3','Limbourg'); region[2]=new Array('40','Aquitaine','41','Auvergne'); ville[2]=new Array('1','Ans','2','Verviers);
J'ai limité les données pour pas innonder...... mais c'est énorme !!!
bon ma question, jaimerais peupler une liste deroulante pour les pays qui suivant le pays choisi modifiera la liste des regions qui elle a son tour modifiera la liste des villes...
Avant de poser la question j'ai essayer ceci et ca marche mais j'en ai pour des mois a modifier le fichier d'origine
exemple qui marche :
<html> <head> <script language="javascript"> var pays = new Array; //nouveau tableau pays = new Array("p0", "Belgique"); pays[1] = new Array("p1", "France"); pays[2] = new Array("p2", "Luxembourg"); pays[3] = new Array("p3", "Suisse");
var region=new Array; region["p0"] = new Array; region["p0"] = new Array("p0v0", "Bruxelles"); region["p0"][1] = new Array("p0v1", "Brabant Wallon"); region["p0"][2] = new Array("p0v2", "Hainaut"); region["p0"][3] = new Array("p0v3", "Namur"); region["p0"][4] = new Array("p0v4", "Liège"); region["p0"][5] = new Array("p0v5", "Luxembourg"); region["p0"][6] = new Array("p0v6", "Anvers"); region["p0"][7] = new Array("p0v7", "Brabant Flamand"); region["p0"][8] = new Array("p0v8", "Flandre Occidentale"); region["p0"][9] = new Array("p0v9", "Flandre Orientale"); region["p0"][10] = new Array("p0v10", "Limbourg");
region["p1"]=new Array; region["p1"] = new Array("p1v0", "Ain"); region["p1"][1] = new Array("p1v1", "Paris");
//pays2 region["p2"] = new Array; region["p2"] = new Array("p2v0", "pays2-region0"); region["p2"][1] = new Array("p2v1", "pays2-region1");
var ville = new Array; //pays0-region0 ville["p0v0"] = new Array; //ville["p0v0"] = new Array("p0v0r0", "pays0-region0-ville0"); //ville["p0v0"][1] = new Array("p0v0r1", "pays0-region0-ville1");
ville["p0v0"]=new Array("p0v0r0","Amay"); ville["p0v0"][1]=new Array("p0v0r1","Amblève"); ville["p0v0"][2]=new Array("p0v0r2","Ans"); ville["p0v0"][3]=new Array("p0v0r3","Anthisnes"); //pays0-region1 ville["p0v1"] = new Array; ville["p0v1"] = new Array("p0v1r0", "pays0-region1-ville0"); ville["p0v1"][1] = new Array("p0v1r1", "pays0-region1-ville1"); ville["p0v1"][2] = new Array("p0v1r2", "pays0-region1-ville2");
//pays1-region0 ville["p1v0"] = new Array; ville["p1v0"] = new Array("p1v0r0", "pays1-region0-ville0"); ville["p1v0"][1] = new Array("p1v0r1", "pays1-region0-ville1");
//pays1-region1 ville["p1v1"] = new Array; ville["p1v1"] = new Array("p1v1r0", "pays1-region1-ville0"); ville["p1v1"][1] = new Array("p1v1r1", "pays1-region1-ville1");
//pays2-region0 ville["p2v0"] = new Array; ville["p2v0"] = new Array("p2v0r0", "pays2-region0-ville0"); ville["p2v0"][1] = new Array("p2v0r1", "pays2-region0-ville1");
//pays1-region1 ville["p2v1"] = new Array; ville["p2v1"] = new Array("p2v1r0", "pays2-region1-ville0"); ville["p2v1"][1] = new Array("p2v1r1", "pays2-region1-ville1"); ville["p2v1"][2] = new Array("p2v1r2", "pays2-region1-ville2"); function filltheselect(liste, choix) {switch (liste) { case "listepays": raz("listeregion"); raz("listeville"); for (i=0; i<region[choix].length; i++) { new_option = new Option(region[choix][i][1],region[choix][i]); document.formu.elements["listeregion"]. options[document.formu.elements["listeregion"].length]=new_option; } for (i=0; i<ville[choix+"v0"].length; i++) { new_option = new Option(ville[choix+"v0"][i][1],ville[choix+"v0"][i]); document.formu.elements["listeville"].options[document.formu. elements["listeville"].length]=new_option; } break; case "listeregion": raz("listeville"); for (i=0; i<ville[choix].length; i++) { new_option = new Option(ville[choix][i][1],ville[choix][i]); document.formu.elements["listeville"].options[document.formu. elements["listeville"].length]=new_option; } break; } }
function raz(liste) {l=document.formu.elements[liste].length; for (i=l; i>=0; i--) document.formu.elements[liste].options[i]=null; } </script> </head> <body> <form name="formu">
Choisir un pays
<select name="listepays" onChange='javascript:filltheselect(this.name, this.value)'> <script language="javascript"> for (i=0; i<pays.length; i++) document.write("<option value=\"" +pays[i]+ "\">" +pays[i][1]); </script> </select> <br>
Choisir une region <select name="listeregion" onChange='javascript:filltheselect(this.name, this.value)'> <script language="javascript"> for (i=0; i<region["p0"].length; i++) document.write("<option value=\"" +region["p0"][i]+ "\">" +region["p0"][i][1]); </script> </select>
<br>
Choisir une ville <select name="listeville"> <script language="javascript"> for (i=0; i<ville["p0v0"].length; i++) document.write("<option value=\"" +ville["p0v0"][i]+ "\">" +ville["p0v0"][i][1]); </script> </select>
</form> </body> </html>
Merci de vos réponses |