Bonjourno !
J'ai 4 listes déroulantes dont les contenus sont liés. La première et la seconde restent fixes, donc les événements "onchange" définis fonctionnent et mettent à jour les listes 3 et 4.
Les listes 3 et 4 sont regénérées entièrement en AJAX (du "<select>" au "</select>").
=> le problème c'est que le "onchange" défini sur ces listes regénérées ne marche pas (qu'il soit défini sur la page de départ ou dans le retour avec le code généré par la page générant les listes).
Ci-dessous le dernier essai de code sur ma page de génération de liste (PHP + javascript) :
Code PHP :
$str_retour_liste3 = "<select name='liste_villes' id='liste_villes' style='font-size:11px;' onchange='maj_filtrage2();'><option value='i'>".$trad_localisation_toutes_villes."</option>";
while(@extract(mysql_fetch_array($res_localisation))){
$str_retour_liste3 .= "<option value='".$localisation."'>".$localisation."</option>";
}
$str_retour_liste3 .= "</select>";
echo $str_retour_liste3;
Code Javascript :
<script type="text/javascript">
window.addEvent('domready',function()
{
var myRequest2a = new Request({
url: 'regénérer_liste.php',
method: 'get',
evalScripts: true,
onSuccess: function(responseText, responseXML){
$('div_genre').innerHTML = responseText;
}
});
function maj_filtrage2(){
alert("maj2");
var sel1 = document.getElementById("type");
var sel2 = document.getElementById("genre");
var sel3 = document.getElementById("liste_villes");
var sel4 = document.getElementById("budget");
var l1 = sel1.options[sel1.selectedIndex].value;
var l2 = sel2.options[sel2.selectedIndex].value;
var l3 = sel3.options[sel3.selectedIndex].value;
var l4 = sel4.options[sel4.selectedIndex].value;
myRequest2a.send('liste1='+l1+'&liste2='+l2+'&liste3='+l3+'&liste4='+l4);
}
});
</script>
=> le "onchange='maj_filtrage2();'" ne marche pas car le "alert('maj2')" ne marche pas.
Je sèche depuis 2 jours sur ce pb, si qqun savait comment le résoudre ça m'arrangerait grandement !
@+! Samy