Déjà j'esper poster dans la bonne section.
Voilà après plusieurs jours de recherche, tuto, messages sur les forums, je n'arrive pas à résoudre mon problème.
J'ai 2 listes déroulantes liées ;
-Pays
--Région
et j'aimerais en ajouter une 3eme qui est liée à Région donc:
--Ville
Petit schéma :
Pays
-Région
--Ville
je penses que c'est bien expliqué.
voici le code que j'utilise :
CODE-BOX
<head>
<title>TEST</title>
</head>
<body>
<tr>
<td align="right">PAYS</td><td><select class="searchTreeLevel1" name="MakeModel[tree][1]" id="MakeModel_1" onChange="generate_MakeModel_ChildList(1, this.value)">
<option value="0">PAYS</option></select><td>
</tr>
<script language='JavaScript' type="text/javascript">
levels_captions = new Array();
levels_captions[0] = 'PAYS';
levels_captions[1] = 'REGION';
levels_captions[2] = 'VILLE';
tree_depth = 3;
tree_MakeModel = {
0: [{"id":11, "caption": 'FRANCE'}, {"id":15, "caption": 'ITALIE'}, {"id":19, "caption": 'ESPAGNE'}],
11: [{"id":12, "caption": 'VAL DOISE'}, {"id":13, "caption": 'PACA'}, {"id":14, "caption": 'ISERE'}],
15: [{"id":16, "caption": 'ITA1'}, {"id":17, "caption": 'ITA2'}, {"id":18, "caption": 'ITA3'}],
19: [{"id":20, "caption": 'ESP1'}, {"id":21, "caption": 'ESP2'}, {"id":22, "caption": 'ESP3'}]};
function generate_MakeModel_ChildList(level, value) {
if (level != tree_depth) {
list = document.getElementById('MakeModel_' + (level + 1) );
list.options.length = 0;
list.options[0] = new Option('' + levels_captions[level], "");
if (tree_MakeModel[value]) {
childs = tree_MakeModel[value];
for (i = 0; i < childs.length; i++) {
child = childs[i];
list.options[i + 1] = new Option(child['caption'], child['id']);
}
}
}
}
generate_MakeModel_ChildList(0, 0);
</script>
<tr>
<td align="right"><br>REGION</td><td><select class="searchTreeLevel2" name="MakeModel[tree][2]" id="MakeModel_2" onChange="generate_MakeModel_ChildList(2, this.value)">
<option value="0">REGION</option></select><td>
</tr>
<tr>
<td align="right"><br>VILLE</td><td><select class="searchTreeLevel3" name="MakeModel[tree][3]" id="MakeModel_3" onChange="generate_MakeModel_ChildList(3, this.value)">
<option value="0">VILLE</option></select><td>
</tr>
</body>
</html>
<title>TEST</title>
</head>
<body>
<tr>
<td align="right">PAYS</td><td><select class="searchTreeLevel1" name="MakeModel[tree][1]" id="MakeModel_1" onChange="generate_MakeModel_ChildList(1, this.value)">
<option value="0">PAYS</option></select><td>
</tr>
<script language='JavaScript' type="text/javascript">
levels_captions = new Array();
levels_captions[0] = 'PAYS';
levels_captions[1] = 'REGION';
levels_captions[2] = 'VILLE';
tree_depth = 3;
tree_MakeModel = {
0: [{"id":11, "caption": 'FRANCE'}, {"id":15, "caption": 'ITALIE'}, {"id":19, "caption": 'ESPAGNE'}],
11: [{"id":12, "caption": 'VAL DOISE'}, {"id":13, "caption": 'PACA'}, {"id":14, "caption": 'ISERE'}],
15: [{"id":16, "caption": 'ITA1'}, {"id":17, "caption": 'ITA2'}, {"id":18, "caption": 'ITA3'}],
19: [{"id":20, "caption": 'ESP1'}, {"id":21, "caption": 'ESP2'}, {"id":22, "caption": 'ESP3'}]};
function generate_MakeModel_ChildList(level, value) {
if (level != tree_depth) {
list = document.getElementById('MakeModel_' + (level + 1) );
list.options.length = 0;
list.options[0] = new Option('' + levels_captions[level], "");
if (tree_MakeModel[value]) {
childs = tree_MakeModel[value];
for (i = 0; i < childs.length; i++) {
child = childs[i];
list.options[i + 1] = new Option(child['caption'], child['id']);
}
}
}
}
generate_MakeModel_ChildList(0, 0);
</script>
<tr>
<td align="right"><br>REGION</td><td><select class="searchTreeLevel2" name="MakeModel[tree][2]" id="MakeModel_2" onChange="generate_MakeModel_ChildList(2, this.value)">
<option value="0">REGION</option></select><td>
</tr>
<tr>
<td align="right"><br>VILLE</td><td><select class="searchTreeLevel3" name="MakeModel[tree][3]" id="MakeModel_3" onChange="generate_MakeModel_ChildList(3, this.value)">
<option value="0">VILLE</option></select><td>
</tr>
</body>
</html>
Si jamais vous pouvez m'aider car je patauges depuis un long moment.
Un grand merci d'avance