Bonjour,

Sur un site intranet, j'ai un formulaire avec un select � choix multiple o� j'ai int�gr� l'�v�nement javascript "OnChange".

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>
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
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 + '&nbsp;&nbsp;&nbsp;</td><td style="width:10%"><label>PP </label><input type="checkbox" id="pp" name="pp" value="'+ values +'">&nbsp;&nbsp;&nbsp;</td><td style="width:10%"><label>PS </label></label><input type="checkbox" id="ps" name="ps" value="'+ values +'"></td></tr></table><br/>';
		}
	}
}
Ce que j'essaye de faire c'est :
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 :

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));
}
Mais ca ne fonctionne pas bien s�r, je ne rentre jamais dans cette condition.

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.