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 :

Afficher/Masquer Multiple Div


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut Afficher/Masquer Multiple Div
    Bonjour à tous,

    J'essai d'afficher ou masquer un div selon son identifiant que je récupère via le selector.
    Problème : au clic sur le bouton toutes les Divs se masquent au lieu de m’afficher celle que je souhaite.
    je sèche, mes appels sont pourtant bien identifiés et les divs également ...

    (je précise que je ne suis qu'un amateur, merci).
    Quelqu'un voit-il le problème ?

    categorie.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    lignes_AffSSCat += '<a type="button" class="DelSSC" onclick="AffConfSupp(ConfSousCat'+response.souscategories[i].souscategories_id +')" ><i class="glyphicon glyphicon-trash"></i></a>';
     
     
        					  lignes_AffSSCat += '<div id="ConfSousCat'+response.souscategories[i].souscategories_id +'" class="contentDiv" style="display: none;">';
        					  lignes_AffSSCat += '<div class="col-sm-5"></div>';
        					  lignes_AffSSCat += '<div class="col-sm-7"><p>Voulez-vous supprimer la catégorie ?</p></div>';
        					  lignes_AffSSCat += '</div>';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    function AffConfSupp(thechosenone) {
         $('.contentDiv').each(function(index) {
              if ($(this).attr("id") == thechosenone) {
                   $(this).slideDown(200);
              }
              else {
                   $(this).slideUp(600);
              }
         });
     
    console.log(" souscategories =  "+ thechosenone); //LOGOK	
    }

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 667
    Par défaut
    dans le code HTML généré, vous avez par exemple cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="AffConfSupp(ConfSousCat3)"
    donc le paramètre que vous allez passer à la fonction est un objet HTMLDivElement que vous comparez avec une chaine de caractères.
    ce que vous pouvez modifier par exemple, c'est l'appel à la fonction pour passer une chaine de caractère comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="AffConfSupp('ConfSousCat3')"

    mais vous pouvez aussi utiliser jQuery pour ne pas avoir de JavaScript dans le code HTML comme cela :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    $(function () {
     
        var lignes_AffSSCat = "";
     
     
        $([1, 2, 3, 4]).each(function (index, element) {
     
            lignes_AffSSCat += '<a type="button" class="DelSSC" data-sous-cat="ConfSousCat' + element + '"><i class="glyphicon glyphicon-trash"> action </i></a>';
            lignes_AffSSCat += '<div id="ConfSousCat' + element + '" class="contentDiv" style="display: none;">';
            lignes_AffSSCat += '<div class="col-sm-5">élément ' + element + '</div>';
            lignes_AffSSCat += '<div class="col-sm-7"><p>Voulez-vous supprimer la catégorie ?</p></div>';
            lignes_AffSSCat += '</div>';
     
        });
     
        $("body").append(lignes_AffSSCat);
     
     
        $("a.DelSSC").click(function () {
     
            var thechosenone = $(this).data("sousCat");
     
            console.log(" souscategories =  "+ thechosenone);
     
     
            $('.contentDiv').each(function(index) {
     
                if ($(this).attr("id") === thechosenone) {
                    $(this).slideDown(200);
                } else {
                    $(this).slideUp(600);
                }
     
            });
     
     
        });
     
     
    });

  3. #3
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut
    Merci Mathieu !
    Bien vu, j'ai effectivement rectifié mon appel et maintenant ça glisse tout seul !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="AffConfSupp(\'ConfSousCat'+response.souscategories[i].souscategories_id +'\')"

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

Discussions similaires

  1. Afficher / Masquer des DIV
    Par Bounty59 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/01/2007, 10h33
  2. Afficher / masquer des div
    Par Galaad dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 28/08/2006, 21h57
  3. [CSS & JAVASCRIPT] Afficher/Masquer un div
    Par alexfrere dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 05/07/2006, 15h02
  4. Fonction permettant d'afficher/Masquer un div
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/01/2006, 12h24
  5. Afficher/Masquer un <DIV> au clique de la souris.
    Par Joad dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/09/2005, 10h55

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