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 :

Checkbox et Slidetoggle


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Par défaut Checkbox et Slidetoggle
    Bonjour à tous et à toutes,

    J'ai un léger souci avec mon JavaScript...

    Je souhaiterais automatiser mon slideToggle au chargement de la page !
    Quand je clique sur une checkbox, un contenu apparait. Pour l'instant aucun problème mais si je charge ma page et que une checkbox est déjà check (via ma BD), j'aimerais que ça s'affiche tous seul.

    Quelqu'un a une idée ?


    Voici le code qui me permet d'afficher lorsque je check :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $('.subsublist').hide();
    $('.clearfix').change(function() {
          var Cb=$(this).children('.checkbox').eq(0);
          var jObj = $( this ).next( '.subsublist' ).eq(0);
          jObj.slideToggle( Cb.checked );
    });
    Voici le code qui fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var ischecked=$('.checkbox').is(':checked'); 
    if(ischecked)
    {
           $('.checkbox').next('.subsublist').eq(0).slideToggle(200);
    }
    else
    {
           $('.checkbox').next('.subsublist').slideUp(200);   
    }
    Voici une partie de mon html :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
       <div class="clearfix"><div class="checkbox">
             <label>
             <input type="checkbox" id="inputmetiers[Banque]" name="metiers[Banque]" value="Banque">
             Banque</label>
       </div>
    </div>
    <div class="subsublist" style="margin-left: 20px; margin-bottom: 20px; display: none;"><div class="row"><div class="col-md-4" style="margin-top:20px;">
    ...

    Merci.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Exemple :

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    .row { display: none; }

    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
    20
    21
    22
    <label>
        <input type="checkbox" name="metiers[]" value="0">
        Banque 1
    </label>
    <label>
        <input type="checkbox" name="metiers[]" value="1">
        Banque 2
    </label>
    <label>
        <input checked type="checkbox" name="metiers[]" value="2">
        Banque 3
    </label>
     
    <div class="row">
        <p>Row Banque 1</p>
    </div>
    <div class="row">
        <p>Row Banque 2</p>
    </div>
    <div class="row">
        <p>Row Banque 3</p>
    </div>

    Code JavaScript : 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
    $( function(){ // forme abrégée de $(document).ready(function(){
     
        var jObjCheckbox = $( "input[type='checkbox'][name='metiers[]']" ),
            jObjRows = $( "div.row" );
     
        jObjCheckbox.on( "change", function( ){
            if ( $( this ).is( ":checked") ){
                jObjRows
                    .eq( $( this ).val() )
                    .show();
            } else {
                jObjRows
                    .eq( $( this ).val() )
                    .hide();
            }
        });
     
        jObjCheckbox.trigger( "change" );
     
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Par défaut
    Bonjour,

    Merci d'avoir répondu !

    J'ai essayer le code et il ne fonctionne pas :/

    http://jsfiddle.net/

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    J'ai essayer le code et il ne fonctionne pas :/
    il est vrai que cela nous aide énormément pour cerner le soucis

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Par défaut
    En même temps, on me propose une solution , je la teste et elle ne marche pas ...
    Je prefère prévenir après si vous voulez des informations vous avez juste a demander .

    Le problème est expliqué juste au dessus

    Lorsqu'une checkbox est pré-cocher la div next() doit être affiché ( pour résumé )

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    En même temps, on me propose une solution , je la teste et elle ne marche pas ...
    non tu as testé une solution approchante mais pas celle de danielhagnoul.

    Ton exemple en lien fonctionne très bien.
    Tu utilises une id comme sélecteur, donc cela ne s'applique qu'à l'élément ayant cette id mais pas à d'autres si tu en rajoutes.

Discussions similaires

  1. [JSP]checkbox
    Par orisis dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 16/04/2013, 13h53
  2. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44
  3. Checkbox
    Par rgarnier dans le forum XMLRAD
    Réponses: 11
    Dernier message: 06/03/2003, 10h48
  4. Couleur d'un CheckBox
    Par benj63 dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/07/2002, 14h48
  5. CheckBox en Read Only
    Par MrJéjé dans le forum C++Builder
    Réponses: 7
    Dernier message: 23/06/2002, 15h00

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