Bonjour!

Encore novice en php et java script, j'ai quelques problème avec des liste déroulante liées.

Je m'explique J'ai 2 liste déroulantes.

La premiere afficher la liste des services
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<td nowrap class="Libelle" align="left"><?php   $mess->printString("poste.service") ?> : </td>
<td>                                          
    <select name="service" size="1" class="Controle_Plat_Obligatoire_EA" OnChange="change_service()">
	<option value="0">Sélectionnez le service ...
<?php for ($i = 0 ; $i < sizeof($service_datas) ; $i++)    {?>                                            
       <option value="<?php  echo $service_datas[$i][BU_CODE]?>"><?php  echo $service_datas[$i][BU_LIB]?>
<?php } ?>
    </select>
</td>
pas de probléme sur celle-ci

La seconde affiche normalement les sous services Niveau
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<td nowrap class="Libelle" align="left"><?php   $mess->printString("user.poste"); ?> : </td>
<td>                                          
    <select name="service_niveau1" size="1" class="Controle_Plat_Obligatoire_EA">
<?php if ($hierarchie_1_datas[0][hierachie_CODE] == 0 ) { ?><option value="0" <?php   if ($_POST[bu]) echo "selected"?>>Sélectionnez la fonction ...<?php   } ?>
<?php if ($hierarchie_1_datas[0][hierachie_CODE] <> 0 ) { ?><option value="0" >Service Niveau 1 ...<?php   } ?>                                    
<?php for ($i = 0 ; $i < sizeof($hierarchie_1_datas) ; $i++)    {?>                                            
        <option value="<?php  echo $hierarchie_1_datas[$i][hierarchie_CODE]?>"<?php  if ($datas[0][hierarchie] == $hierarchie_1_datas[$i][hierarchie_CODE]) echo "selected"?>><?php  echo $hierarchie_1_datas[$i][hierarchie_LIBELLE]?>
<?php }	?>
    </select>
</td>


En gros problème, je voudrai arriver à mettre à jour la liste déroulante sous service (sans changer de page qu'elle se réactuliser automatiquement) en utilisant l'option onChange(), mais ça a pas l'air de vouloir :'(

fonction actuel dans le onChange()

Code :

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
<script>
function change_service() {
	var code_act = document.Frm_MAJPoste.service.value;
   //         	 Liste des hôtels
	var indice = 1;
	document.Frm_MAJPoste.service_niveau1.options[0].value ="0";
	document.Frm_MAJPoste.service_niveau1.options[0].text = "Sélectionnez le service niveau 1 ..."
<?php    for ($i=0; $i< sizeof($hierarchie_1_datas); $i++) { ?> 
	var code_act_fil = "<?php    echo $hierarchie_1_datas[$i][HIERARCHIE_SERVICE] ?>";
	if (code_act == "" || code_act_fil == code_act) {
		document.Frm_MAJPoste.service_niveau1.length = indice + 1;  
		document.Frm_MAJPoste.service_niveau1.options[indice].value="<?php    echo $hierarchie_1_datas[$i][hierarchie_CODE] ?>";
		document.Frm_MAJPoste.service_niveau1.options[indice].text="<?php    echo $hierarchie_1_datas[$i][hierarchie_LIBELLE] ?>";   
		indice = indice + 1;
	}
<?php    } ?>
	document.Frm_MAJPoste.service_niveau1.length = indice;
}
</script>
Pour le moment cette fonction fonctionne jusqu'a "document.Frm_MAJPoste.service_niveau1.options[0].text = "Sélectionnez le service niveau 1 ...""

Fonction pour recupére dans la table THierarchie les sous services.

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Function Datas_hierarchie_1($COOKIE) {
        $datas = Array();
        $bd = new BaseMysql;
        $requete="SELECT thierarchie_departement.* FROM thierarchie_departement";
        $requete.= "  WHERE hierarchie_SITE = ".$COOKIE[cookie_user_site]; 
	$requete.= "  AND hierarchie_NIVEAU = 1";
        $requete.="   ORDER BY hierarchie_LIBELLE";
//        echo "<BR>$requete<BR>";        
        return($bd->get_all_values($requete));
      }

Est ce que quelqu'un pourrais me donner un petit coup de pouce svp :-)
Merci