IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[DOM] Supprimer l'<option> sélectionné d'une liste à choix multiple, via onclick()


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut [DOM] Supprimer l'<option> sélectionné d'une liste à choix multiple, via onclick()
    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 !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Oulà c'est de l'acharnement sur le DOM ça ...
    Tu te compliques l'existance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var listeChoix = document.getElementById("choix_prestations");
    var listeChoixFils = listeChoix.firstChild;
     
    var opt = document.createElement("option");
    opt.value = document.formEvent.fp.value;
    opt.innerHTML=document.formEvent.fp.value
    opt.onclick=fcuntion(){del_liste(this)};
    document.getElementById("choix_prestations").appendChild(opt);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Merci pour cette simplification !
    Par contre ma fonction de suppression ne fonctionne pas :/ Est-ce que c'est parce que l'id du <option> à supprimer n'est pas reconnu quand je fais ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var del = document.getElementById(choix);

Discussions similaires

  1. Réponses: 7
    Dernier message: 19/06/2009, 11h20
  2. Option selected dans une liste à choix multiple
    Par Nooby dans le forum Langage
    Réponses: 2
    Dernier message: 21/07/2008, 15h59
  3. Nombre d options a afficher dans une liste (select)
    Par wwluigi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/01/2007, 15h17
  4. Lignes sélectionnées dans une liste
    Par nellynew dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 09h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo