Bonjour à tous!
Je souhaite faire une liste liées a une premiere.
J'alimente correctement la 1ere liste et prend les bons paramètres, puis je l'envoie a mon script.
voici mon code php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
    <select name="theme" id="nom_theme" onchange="changeDept(tab,this.value);">
      <option value="vide">- - - Choisissez un thème - - -</option>
 
    <?php
    /* Construction de la première liste : on se sert du tableau PHP */
    $nbr = count($ssrep);
    foreach($ssrep as $nr => $nom)
    {
        ?>
		//ce serait la qu'on recupere la valeur du 1er tableau
    <option value="<?php echo($nr); ?>"><?php echo($nr); ?></option>
<?php
    }
    ?>
    </select>
    <!-- ICI, le secret : on met un bloc avec un id ou va s'insérer le code de
         la seconde liste déroulande -->
  <span id="blocDepartements"></span><br />
  <input type="submit" name="ok" id="ok" value="Envoyer" />
  </fieldset>
</form>
voici ce qui est dans les paramètres de changedept:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
changeDept("{"AGRICULTURE":{"1":"/N_AGRI_ENVIRONNEMENT","2":"/N_AGRI_ALIMENTAIRE","3":"/N_EXPLOITATION_ELEVAGE ","4":"/N_PARCELLAIRE_AGRICOLE ","5":"/N_SANTE_ANIMALE","6":"/N_SANTE_VEGETALE ","7":"/N_ZONAGES_AGRICOLES "},"AIR_CLIMAT":{"8":"/N_CHANGEMENT_CLIMATIQUE","9":"/N_METEO"}}", "AIR_CLIMAT")
ou le 1er parametre est un tableau javascript, et le 2eme parametre est l'indice (cad "AIR_CLIMAT").

Et enfin voici mon script changeDept.js:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* On crée la fonction qui va construire la seconde liste déroulante */
function changeDept(tab,idr)
{
    if(idr != "vide")
    {
    /* On compte les sousrep de ce thème */
    var nbd = tab[idr].length;
	var nom = tab[idr].first();
	var i = tab[idr].indexOf(nom);
    var form_d  = '<select name="sousreps" id="sousreps">';
    for(var j = i ;j < nbd + i; j++)
    {
		form_d += '  <option value="'+ j +'">'+ tab[idr][j] +" ("+ j +')<\/option>';
    }
    form_d += '<\/select>';
    }
    else
    {
        form_d = "";
    }
    document.getElementById("blocDepartements").innerHTML = form_d;
}
et je suis rembarré a chaque fois car firebug me dit
tab[idr] is undefined
nbd = tab[idr].length;\n
pourquoi mon tableau n'est-il pas défini???