Alors pour les selects :
Premiere
<select name="famille" style="width:200px" onchange="AfficheSSFamille()" id="famille">
<option value"0">Choisissez une famille</option>
<?php
$o_Array = new ArrayList();
$o_Srv_Famille = new Srv_Famille();
$o_Famille = new Object_Famille();
$o_Array = $o_Srv_Famille->Get_AllFamille();
$nb_element = $o_Array->size();
if($nb_element>0)
{
for($i=0;$i<$nb_element;$i++)
{
$o_Famille = $o_Array->get($i);
echo("<option value=".$o_Famille->get_ID().">".$o_Famille->get_Libelle()."</option>");
}
}
?>
</select>
deuxième juste la div :
<div id="ss_famille" style="position:absolute;top:400px;left:485px">
</div>
La fonction js :
function AfficheSSFamille()
{
var o_liste = document.getElementById("famille");
var index = o_liste.selectedIndex;
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("POST", "Charge_DDLssFamille.php", true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4)
document.getElementById("ss_famille").innerHTML = xhr_object.responseText;
}
Et le code pour générer la deuxième liste déroulante.
<?php
include("Class/Srv_SS_Famille.php");
include("Class/Parametres.php");
$cs_echo = "";
$Srv_SS_Famille = new Srv_SS_Famille();
$o_SS_Famille = new Object_SSFamille();
if($_POST["type"] != 0)
{
@mysql_connect(parametres::GetHost(),parametres::GetUser(),parametres::GetPass()) or die("Connexion avec le serveur a échouée");
@mysql_selectdb(parametres::GetBDD()) or die ("Connexion avec la base de données a échouée");
$result = @mysql_query("SELECT * FROM ss_famille WHERE N_ID_FAMILLE =".$_POST["type"]."");
$cs_echo .= "
<table>
<tr>
<td>
<span style=\"font-family:arial;font-weight:bold;text-decoration:underline\">Sous-famille : </span>
</td>
<td>
<select style=\"width:200px\" name=\"ss_famille\" />
<option value=\"0\">Choisissez une sous-famille</option>
";
while($disp = mysql_fetch_array($result))
{
$o_SS_Famille = $Srv_SS_Famille->Transform_Record_To_SSFamille($disp);
$cs_echo .= "<option value=\"$o_SS_Famille->Get_ID()\">".$o_SS_Famille->Get_libelle()."</option>
";
}
$cs_echo .= "</select></td>
</tr>
</table>";
}
echo($cs_echo);
?>
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = "type="+escape(o_liste.options[index].value);
xhr_object.send(data);
}
Voila en espérant que quelqu'un trouve, je me casse la tête depuis un bon moment déjà
