Bonjour,
Voici mon problème : j'ai un select avec une liste de pays et un select avec une liste de circuits dans ces pays.
Quand on choisit un pays, on met à jours la liste des circuits pour ne garder que ceux correspondant à ce pays. La fonction ajax majListeCircuit se charge de celà.
Tout marche correctement en passant d'un pays à l'autre. Malheureusement, quand on selectionne tous les pays (option selected) la fonction majListeCircuit ne semble pas être appellée.
Code HTML :
<select class="champ" name="pays" id="pays" onChange="majListeCircuit(this)">
<option value="_______" selected="selected">Tous les pays</option>
<option value="2AR____">Argentine</option>
...
<option value="5MN____">Mongolie</option>
</select>
<select class = "champ" name="circuit" id="circuit">
<option value="_______" selected="selected">Tous les circuits</option>
<option value="2AR0001">Patagonie</option>
...
</select>
Code Javascript :
function majSelectCircuit(xhr, circuits) {
var cible = document.forms['form_recherche'].circuit;
// vider le select
while (cible.hasChildNodes()) {
cible.removeChild(cible.lastChild);
}
// mettre les nouveaux éléments
if (circuits) {
for (var i=0 ; i < circuits.length ; i++) {
var circuit = circuits[i];
cible.options[i] = new Option(circuit.nom, circuit.reference);
}
cible.selectedIndex = 0;
}
}
// Ajax, recupère les nouveaux elts du select au format JSON
function majListeCircuit(sel) {
var ref = sel.options[sel.selectedIndex].value;
var myAjax = new Ajax.Request('http://localhost/ac/liste-circuit.php',
{
method: 'get',
parameters: {reference : ref},
onComplete: majSelectCircuit
});
}
Pouvez vous m'aider ?
En vous en remerciant