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 :

Cacher une option d'un select en fonction d'un autre select


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 91
    Points : 58
    Points
    58
    Par défaut Cacher une option d'un select en fonction d'un autre select
    Bonjour à tous,

    Voilà, j'essaie de faire une fonction javascript ou jQuery qui me permette de cacher une option d'un select.

    Je m'explique :
    J'ai deux <select> avec des options bien différentes dans les deux.
    Seulement j'ai une contrainte me disant que la deuxième option de la seconde liste ne peut être sélectionnable si et seulement si l'option 1 du premier select est sélectionné.

    Autrement dit, si je n'ai pas choisis la 1ère option de la première liste, je ne dois voir que la première option de la deuxième liste.

    Ca parait simple mais je n'arrive absolument pas à faire ce que je désire.

    J'ai essayé différentes choses comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function disableChoice()
                {
                    $('#test').hide(); // id de l'option a cacher
                    if($('#code).val() != 'truc') { // Id du premier select
                        $('#test').show();
                    }
                };
    Ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function disableChoice()
                {
                    $('#test').attr('disabled="disabled"'); // id de l'option a cacher
                    if($('#code).val() != 'truc') { // Id du premier select
                        $('#test').attr('selected="selected"');
                    }
                };
    Mais sans succès...

    Pourriez-vous m'aider ?
    Je suis preneur de toute solution, aussi bien en cachant l'option qu'en la grisant etc...

    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Points : 33
    Points
    33
    Par défaut
    Tu dois pouvoir le faire avec une fonction javascript dans ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElemenyById('tonSelect2').innerHTML = 'la liste de tes selects';
    Quite à boucler de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (i=0; i<maListeDeSelect.length; i++) {
      if !((i==1) && (document.getElementById('idDuSelect1').value == 'valeur2')) {
        document.getElemenyById('tonSelect2').innerHTML = maListeDeSelect[i];
      }
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    Merci beaucoup de ta réponse.

    Toutefois, j'ai opté pour une autre solution plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/javascript">
                    /**
                     * Allow second choice only if the system code is SAP
                     */
                function disableChoice()
                {
                    if($('#code').val() != 'truc') {
                        $('#test').attr('disabled', 'disabled');
                    } else {
                        $('#test').removeAttr('disabled');
                    }
                };
    </script>
    Merci encore pour l'aide.

    Bonne journée

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/09/2013, 10h55
  2. modification d'un select en fonction d'un autre
    Par xoorus dans le forum Langage
    Réponses: 2
    Dernier message: 08/08/2012, 14h15
  3. Réponses: 14
    Dernier message: 10/08/2011, 14h05
  4. SELECT (champ issue d'un autre SELECT) FROM
    Par Fredovsky dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/02/2010, 00h47
  5. [HTML][Select]désactiver une option sous IE ?
    Par tiPouick dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 05/11/2004, 12h13

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