XAJAX > generer une liste deroulante a partir d'une autre
Posté : 09 nov. 2011, 20:47
Bonjour,
je me lance tout juste dans ajax et je souhaite utiliser XAJAX mais mon premier teste n'est pas tres concluant.
Je cherche à afficher une liste déroulante en fonction du résultat d'une autre liste déroulante.
A l'écran rien ne se passe, pas d'erreurs, pas de seconde liste déroulante.... rien.
voici mon code
je me lance tout juste dans ajax et je souhaite utiliser XAJAX mais mon premier teste n'est pas tres concluant.
Je cherche à afficher une liste déroulante en fonction du résultat d'une autre liste déroulante.
A l'écran rien ne se passe, pas d'erreurs, pas de seconde liste déroulante.... rien.
voici mon code
<?php session_start();
function AfficherCodes($poles_id)
{
$reponse = new xajaxResponse();
$liste_codes = '<select name="pro_codes" size="5" multiple>';
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=db_test', 'root', '', $pdo_options);
$reponse_qr = $bdd->query('SELECT * FROM codes WHERE poles_id = "'.$poles_id.'"');
while($data = $reponse_qr->fetch())
{
$liste_codes .= '<option value="'.$data['codes_id'].'">'.$data['codes_nom'].' - '.$data['codes_titre'].'</option>';
}
$reponse_qr->closeCursor();
$liste_codes .= '</select>';
$reponse->assign('block_liste_codes', 'innerHTML', $liste_codes);
return $reponse;
}
require ('/app/htdocs/intranet/xajax/xajax_core/xajax.inc.php');
$xajax = new xajax(); //On initialise l'objet xajax.
$xajax->register(XAJAX_FUNCTION, 'AfficherCodes');// On enregistre nos fonctions.
$xajax->processRequest();
echo'<form>
<select id="choix_poles" name="poles_id" class="champform_liste" onChange="xajax_AfficherCodes(this.value)"><option value="0"></option>
';
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=db_test', 'root', '', $pdo_options);
$reponse = $bdd->query('SELECT * FROM poles');
while ($data = $reponse->fetch())
{
echo '<option value="'.$data['poles_id'].'">'.$data['poles_nom'].'</option>';
}
$reponse->closeCursor();
echo'
<option value="FT_PAPC">Fonctions</option></select>
';
$xajax->printJavascript('../../../xajax/');
echo'
<script type="text/javascript">
function refresh()
{
xajax_AfficherCodes();
setTimeout(refresh, 5000);
}
</script>
<div id="block_liste_codes"></div></form>
';
?>