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

jQuery Discussion :

Dé-sélectionner une option d'un select multiple


Sujet :

jQuery

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut Dé-sélectionner une option d'un select multiple
    Bonjour à tous,

    Je cherche, comme dit dans le titre, à dé-sélectionner une option précise d'un select multiple, sachant que je connais sa valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var badIdCat = rec[0]; // value de l'option à dé-sectionner
    $("#categories option:selected").each(function () {
     
    if($(this).val() == badIdCat){
    	alert($("Je dois désélectionner "+badIdCat); //affiche la bonne valeur
    	$('#categories option[value='+badIdCat+']').attr("selected", "false");
     
    }
     
    });
    Ne dé-sélectionne rien du tout !
    Pareil avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('#categories option[value='+badIdCat+']').attr("selectedIndex", "-1");
    Pourquoi ?
    Merci de vos brillantes lumières.

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    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
    $(function(){
     $('#bar option').attr('selected',true)
     
     $('#bar option[value=4]').attr('selected',false)
    })
     
    </script>
     
    </head>
    <body>
    <select id="bar" multiple >
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    </select>
    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 averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Bonjour SpaceFrog et merci d'être passé par là.

    Ton code fonctionne mais ne donne pas le résultat escompté :
    Effectivement, là, toutes les options de la liste sont sélectionnées, sauf celle qui à la valeur badIdCat

    Mais ce que je veux, c'est que seules les options qui avaient été sélectionnées le restent. Si le user avait sélectionné "toto", "tutu" et "tata" et que "tata" soit la badValue, alors seules "toto" et "tata" resteraient sélectionnées.

    Tu vois le truc ?

  4. #4
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var badIdCat = rec[0]; // value de l'option à dé-sectionner
    $("#categories option:selected").each(function () {
        if($(this).val() == badIdCat)
    	$(this]').attr("selected", false);
    });
    Je suis fervent utilisateur de PHP et de jQuery.
    Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web de développeur web dans le Val d'Oise mais aussi plusieurs projets personnels.
    Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, une extension de navigateur pour envoyer l'URL de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc…

  5. #5
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    Ou en plus court :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var badIdCat = rec[0]; // value de l'option à dé-sectionner
    $("#categories option[value='"+badIdCat+"']").removeAttr('selected');
    http://jsfiddle.net/Chouchen/xJNRH/
    Je suis fervent utilisateur de PHP et de jQuery.
    Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web de développeur web dans le Val d'Oise mais aussi plusieurs projets personnels.
    Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, une extension de navigateur pour envoyer l'URL de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc…

  6. #6
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Oui, c'est bien ça.
    Merci à vous deux et bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/06/2010, 14h42
  2. Passer le focus à une option d'un select multiple
    Par baoulox dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/02/2008, 17h04
  3. Sélectionner toutes les options d'un select multiple
    Par dolu02 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/02/2008, 10h49
  4. [XSLT] sélectionner une option d'un select
    Par gojira dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 19/06/2006, 15h45
  5. Supprimer une option d'un select à choix multiple
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/02/2005, 14h16

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