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 :

listes liées avec les fonctions hide et show de kquery


Sujet :

jQuery

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut listes liées avec les fonctions hide et show de kquery
    Bonjour,

    J'aimerais créer des listes liées en utilisant les fonctions de hide et show de jquery. Par exemple quand on sélectionne une rubrique seuls les choix de cette rubrique apparaissent et les autres ne seraient alors pas visibles.

    Code html : 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
    <select name="continent" id="continent">
     <option value="Europe">Europe</option>
     <option value="Afrique">Afrique</option>
     <option value="Asie">Asie</option>
    </select>
    <select id="payseurope" name="payseurope" style="display:none;">
                                                <option value="fce">France</option>
                                                <option value="esp">Espagne</option>
     </select>
     
    <select id="paysafrique" name="paysafrique" style="display:none;">
                                                <option value="mar">Maroc</option>
                                                <option value="nig">Nigéria</option>
     </select>
     
    <select id="paysasie" name="paysasie" style="display:none;">
                                                <option value="chi">Chine</option>
                                                <option value="jap">Japon</option>
     </select>

    J'avoue ne pas comprendre où intégrer les fonctions hide et show de jquery dans le code et comment récupérer les valeurs...

    En vous remerciant pour votre aide.

    Seb

  2. #2
    Membre régulier Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 116
    Points
    116
    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
     
    <select name="continent" id="continent"  class="test">
     <option value="Europe">Europe</option>
     <option value="Afrique">Afrique</option>
     <option value="Asie">Asie</option>
    </select>
    <select id="payseurope" name="payseurope" class="test">
                                                <option value="fce">France</option>
                                                <option value="esp">Espagne</option>
     </select>
     
    <select id="paysafrique" name="paysafrique" class="test">
                                                <option value="mar">Maroc</option>
                                                <option value="nig">Nigéria</option>
     </select>
     
    <select id="paysasie" name="paysasie" class="test">
                                                <option value="chi">Chine</option>
                                                <option value="jap">Japon</option>
     </select>
    Ensuite jquery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $('.test').change(
    function(){
         $('.test').hide();
         $(this).show();
    }
    );

    Quelque chose du genre devrais suffire je penses

  3. #3
    Membre régulier Avatar de eaglesnipe
    Homme Profil pro
    Ingénieur Etudes et Développement
    Inscrit en
    Janvier 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes et Développement
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 75
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    @tidus_6_9_2

    Je ne suis pas sûr que cette solution règle le problème (ou tout du moins corresponde à ce qu'il recherche). Je n'ai pas eu le temps de tester mais à première vue, dès qu'il va cliquer sur le premier select (continent), tous les .test vont disparaitre (donc d'après ton code tous les select) et seul celui sur lequel on vient de cliquer va réapparaitre (donc le continent). En soit, on sera toujours dans la meme config : continent visible, les autres combobox cachées.

    Je verrai plutot une solution qui se rapprocherait de la tienne, au js près :

    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
    <select name="continent" id="continent">
     <option value="Europe">Europe</option>
     <option value="Afrique">Afrique</option>
     <option value="Asie">Asie</option>
    </select>
    <select id="payseurope" name="payseurope" class="pays">
                                                <option value="fce">France</option>
                                                <option value="esp">Espagne</option>
     </select>
     
    <select id="paysafrique" name="paysafrique" class="pays">
                                                <option value="mar">Maroc</option>
                                                <option value="nig">Nigéria</option>
     </select>
     
    <select id="paysasie" name="paysasie" class="pays">
                                                <option value="chi">Chine</option>
                                                <option value="jap">Japon</option>
     </select>
    Puis le JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var continent = $('#continent option:selected').val();
    $('.pays').hide();
    $('#pays' + tolowercase(continent)).show();
    En supposant qu'il y ait un css qui ressemblerait à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .pays {
      display: none;
    }

  4. #4
    Membre régulier Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 116
    Points
    116
    Par défaut
    Mia culpa, j'avais mal compris sa demande XD

    Oui ton code est plus adapté que le mien, je pensais qu'il voulait tout masquer lorsqu'il sélectionnait une valeur d'un select XD (bon de plus le .click ça fait super moche pour un select, je vais corriger par .change XD)

    Cordialement

Discussions similaires

  1. [MySQL] Remplir une liste déroulante avec les résultats d'une fonction
    Par Anibel dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 29/10/2013, 11h39
  2. JQuery, Firefox et les fonctions hide() show()
    Par jwhy-graphiste dans le forum jQuery
    Réponses: 2
    Dernier message: 07/08/2012, 17h37
  3. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  4. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  5. Réponses: 7
    Dernier message: 24/05/2003, 15h56

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