Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2011, 19h27   #1
Invité de passage
 
Homme
Consultant ERP
Inscription : mars 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant ERP
Secteur : Santé

Informations forums :
Inscription : mars 2011
Messages : 3
Points : 0
Points : 0
Par défaut 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à
conquering_lion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 10h58   #2
Invité de passage
 
Homme
Consultant ERP
Inscription : mars 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant ERP
Secteur : Santé

Informations forums :
Inscription : mars 2011
Messages : 3
Points : 0
Points : 0
bon juste pour dire que je me suis débrouillé en fait,
sur le submit j'ai ajouté un appel à la fonction suivante :

Code :
1
2
3
4
5
6
7
function f()
{
   var obj = document.getElementById("stags_tmp")
   var obj_stags = document.getElementById("stags")
   //alert('le champ a pour valeur : "'+obj.value+"'")
   obj_stags.value = obj.value
}

et j'ai bien ma valeur du select dynamique .. donc je clos
conquering_lion est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h22.


 
 
 
 
Partenaires

Hébergement Web