Bonjour,
Sur un site intranet, j'ai un formulaire avec un select � choix multiple o� j'ai int�gr� l'�v�nement javascript "OnChange".
Quand l'utilisateur clique sur une ou plusieurs options, la fonction javascript pilote(processus) me permet de parcourir les options s�lectionn�es et d'ajouter via createElement un div, dans ce m�me formulaire, que je remplie ensuite gr�ce a innerHTML.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 <select name="processus[]" id="processus" OnChange="pilote('processus');" size=4 multiple="multiple"> <?php while($DataProcessus = mysql_fetch_array($ReqProcessus)) { echo '<option value="'.$DataProcessus['id_processus'].'">'.$DataProcessus['nom_processus'].'_'.$DataProcessus['description_processus'].'</option>'; } ?> </select>
Ce que j'essaye de faire c'est :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 //Fonction qui affiche une chkbox pour savoir si un utilisateur ajouter est pilote d'un processus function pilote(selectId) { var elmt = document.getElementById(selectId); var parentElement = document.getElementById("piloteProcessus"); if(elmt.multiple == false) { return elmt.options[elmt.selectedIndex].value; } var values = new Array(); for(var i=0; i< elmt.options.length; i++) { if(elmt.options[i].selected == true) { values[values.length] = elmt.options[i].value; var titre = document.createElement("<div>"); titre.id = values; parentElement.appendChild(titre); var selectedText= elmt.options[i].text; document.getElementById(titre.id).innerHTML = '<table style="width:50%; margin:0 auto"><tr><td style="width:80%">Pilote ' + selectedText + ' </td><td style="width:10%"><label>PP </label><input type="checkbox" id="pp" name="pp" value="'+ values +'"> </td><td style="width:10%"><label>PS </label></label><input type="checkbox" id="ps" name="ps" value="'+ values +'"></td></tr></table><br/>'; } } }
Quand l'utilisateur a d�selectionn� une option, il faudrait que le div qui a �t� cr�e auparavant soit supprim�.
J'ai essay� d'int�grer dans le code :
Mais ca ne fonctionne pas bien s�r, je ne rentre jamais dans cette condition.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 if(elmt.options[i].selected == false) { document.getElementById(parentElement).parentNode.removeChild(document.getElementById(titre.id)); }
Je ne vois pas trop comment faire malgr� mes recherches et comme ca fais deux jours que je suis dessus je me retourne vers vous.
J'esp�re que j'ai �t� assez clair dans mon explication. Si ce n'est pas le cas, n'h�sitez pas � me demander plus d'infos.
Merci d'avance pour vos r�ponses.
Partager