select dynamique selon selon catégorie
hello à tous ,
bon en général je ne poste sur les forums que quand j'ai fais le tour des résolutions possibles, et là c'est le cas .
j'ai fais un formule basic, et j'avais besoin d'un select dynamique, qui selon la valeur d'un select de catégorie, m'afficherait des listes de sous catégories différentes, le select dynamique s'affiche bien sur la page une fois la catégorie sélectionné, mais ne passe pas au script action du formulaire (un formulaire d'upload).
le code de ma fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| function ajout(selection){
nb_select = selection.parentNode.getElementsByTagName("select").length;
if ( selection == selection.parentNode.getElementsByTagName("select")[nb_select-1] ) {
element_select = selection;
selection = selection.options[selection.selectedIndex].value;
if ( list_choix[selection] ) {
new_liste = document.createElement("select");
element_select.parentNode.appendChild(new_liste);
new_liste.setAttribute("id", "sous-cat");
new_liste.setAttribute("name", "sous-cat");
new_liste.onchange= function () {ajout(this) };
for (var i=0; i<list_choix[selection].length; i+=2) {
new_option = document.createElement("option");
new_option.setAttribute("value", list_choix[selection][i]);
new_option.text = list_choix[selection][i+1];
new_liste.appendChild(new_option);
}
}
}
else {
selection.parentNode.removeChild(selection.nextSibling);
ajout(selection);
}
if (list_choix[new_liste.options[0].value]) {
ajout(new_liste)
}
} |
et dans list_choix j'ai alterné value du select, et affichage du select ..
Code:
1 2 3 4
| list_choix = {
"cat1" : ["0","--","sous cat 1",......],
etc etc
} |
et donc dans le premier select je fais un onchange="ajout(this)"
donc si quelques avec une piste ou une idée
ah oui, coté serveur j'ai un simple $_POST['sous-cat'];
merci à ceux qui liront jusque là ;)