Bonjour,

j'ai une liste déroulante à choix multiple ("choix_prestations") où j'ajoute les <option> via le modèle DOM. L'utilisateur peut s'être trompé dans sa sélection et vouloir supprimer l'<option> qu'il vient d'ajouter dans la liste, simplement en cliquant dessus.

J'ai fait ceci pour créer l'attribut onClick pour chaque <option> :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
var listeChoix = document.getElementById("choix_prestations");
var listeChoixFils = listeChoix.firstChild;
 
var opt = document.createElement("option");
var optValue = document.createAttribute("value");
opt.value = document.formEvent.fp.value;
var optClick = document.createAttribute("onclick");
optClick.nodeValue = "del_liste(this)";
opt.appendChild(document.createTextNode(document.formEvent.fp.value));
document.getElementById("choix_prestations").appendChild(opt);
Et ensuite j'ai mis dans ma fonction del_liste(choix) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
var listeChoix = document.getElementById("choix_prestations");
var del = document.getElementById(choix);
listeChoix.removeChild(del);
Est-ce que tout d'abord le onClick est bien créé et fait appel correctement à la fonction ? Est-ce que mettre un (this) permet de savoir quel <option> on a sélectionné et donc savoir lequel on doit supprimer ? Et enfin, ma fonction est elle correcte ? Merci d'avance !