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 :

Un bouton pour plusieurs lignes | while


Sujet :

JavaScript

  1. #1
    Membre habitu�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Octobre 2017
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 32
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Par d�faut Un bouton pour plusieurs lignes | while
    Bonjour,

    Je suis confront� � un probl�me (�tonnant !) , je crois que ma logique a compl�tement foutu le camp.

    [Existant] : Je parcours gr�ce � un while les lignes de ma BDD, que j'affiche sous la forme d'un tableau. Grace aux conseils prodigu�s sur ce forum, j'ai pu faire en sorte de mettre en place un syst�me de bouton (avec un ptit bout de code js) qui affiche/masque mes lignes par un clique.

    [Ce que j'aimerai faire] ; Tout simplement ne mettre qu'un bouton pour toutes les lignes sauf la 1�re.

    J'utilise ce qu'il y a ci-dessous dans mon while pour php
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while (toutes mes lignes de la BDD) {
     
    <button type="button" onclick= "toggle_div(this, 'test-<?php echo $t; ?>')">+</button>	
    <div id="test-<?php echo $t; ?>" style="display:none">
    Ma ligne ou il y a mes infos
    </div>
     
    $t = $t+1;
     
    }
    Et c�t� js j'ai �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    function toggle_div( btn, id_div ){
    		btn.innerHTML = (btn.innerHTML == '+')? '-' : '+';
    		document.getElementById( id_div ).style.display = (document.getElementById( id_div ).style.display == 'none')? 'block' : 'none';
    	}
    Voila je gal�re �tant donn� que j'incr�mente de 1 mon ID � chaque tour pour qu'il reste unique et qu'apr�s �tre pass� dans mon while, bah �a recommence donc comment pourrais-je garder en m�moire les div ou les placer dans un bloc de div et ne faire appel qu'au bloc....?

    Merci d'avance pour votre aide

  2. #2
    Membre �m�rite Avatar de Geoffrey74
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par d�faut
    Hello,

    Le plus simple, c'est que tu ajoute une classe a tes div, et en js, tu masque ou affiche les div qui ont cette classe.
    En JS pure je ne saurai faire, avec jquery c'est relativement simple

    Sinon, tu peux creer une varible JS qui faut le nombre de div (donc $t si j'ai bien lu)
    et tu fais une boucle for pour afficher / masquer les div en partant de test-2 jusque test-$t

  3. #3
    Invit�
    Invit�(e)
    Par d�faut
    Bonjour,

    on parle de moi ?

    Alors, pour un seul bouton :
    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <button type="button" onclick= "toggle_all_div(this, 'test');">++</button>	
     
    <?php
    $t = 1;
    while (toutes mes lignes de la BDD) {
    ?>
    <div <?php if( $t != 1 ){ echo ' class="test"'; } ?> style="display:none">
       Ma ligne ou il y a mes infos
    </div>
    <?php
    $t++   // équivaut à : $t = $t+1;
    }
    Code JavaScript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    function toggle_all_div(btn, class_div) {
      btn.innerHTML = btn.innerHTML == "++" ? "--" : "++";
      document.querySelectorAll('.'+class_div).forEach(function(this_div) {
        this_div.style.display = this_div.style.display == "none" ? "block" : "none";
      });
    }

    OU :
    Code JavaScript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    function toggle_all_div(btn, class_div) {
      btn.innerHTML = (btn.innerHTML == "++") ? "--" : "++";
      document.querySelectorAll("." + class_div).forEach(function(this_div) {
        this_div.style.display =
          (btn.innerHTML == "--") ? "block" : "none";
      });
    }
    Derni�re modification par Invit� ; 02/11/2017 � 17h52.

  4. #4
    Membre tr�s actif
    Homme Profil pro
    D�veleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veleoppeur Web/Mobile
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par d�faut
    jreaux62 je crois qu'il veut un bouton pour par ligne pour afficher/masquer la ligne, et non un bouton pour toutes les lignes. Ou alors il s'est mal expliqu�.

  5. #5
    Membre habitu�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Octobre 2017
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 32
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Par d�faut
    Bonjour,

    Tout d'abord merci � vous pour ces pistes ! En effet merci encore jreaux62 !
    Le code en se basant sur la class fonctionne, et c'est super ! N�anmoins (sinon �a ne serait pas marrant), mon while est un peu plus complexe et je suis de nouveau coinc�...

    En fait dans ce dernier je fais un if qui me permet de savoir si la ligne est une famille ou une sous famille. Si c'est une famille je l'affiche directement avec de la couleur sans bouton (cette partie fonctionne), sinon je met un seul bouton pour toutes les sous familles regroup�es, sachant que tout cela est sous la forme de tableaux.

    Le probl�me avec la class est qu'actuellement quand je clic sur + et - cela m'affiche toutes les sous familles de toutes les familles... Et non pas de la famille dans laquelle je me trouve... Voila le c�ur de mon probl�me!

    Je suis preneur de toutes id�es � nouveau...

  6. #6
    Membre habitu�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Octobre 2017
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 32
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Par d�faut
    [UP]

    C'est booooon !!! Miraaaacle * cafeti�re qui applaudit * !
    J'ai tout simplement fait le m�me chemin qu'avec l'ID, mais avec la class.

    Si c'est une Famille, je l'affiche,
    je cr�er un bouton (vu que je sais que �a va enchainer Sous Famille), et j'incr�mente de 1 ma class= $i

    Sinon (donc sous famille)
    j'affiche dans un 'div class = $i' les donn�es.

    Voila merci pour votre aide et votre r�activit�

    A bient�t

  7. #7
    Invit�
    Invit�(e)
    Par d�faut
    Bonjour,

    ce serait bien de montrer ton code final.
    �a pourrait int�resser certains.



    @-Rpass-
    Le cas "un bouton par ligne" avait d�j� �t� trait� - et r�solu - dans cette discussion
    Derni�re modification par Invit� ; 03/11/2017 � 11h46.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. trigger delete pour plusieurs lignes
    Par Shabata dans le forum Langage SQL
    R�ponses: 6
    Dernier message: 30/09/2009, 01h00
  2. Value d'un bouton sur plusieurs lignes
    Par claire13 dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 1
    Dernier message: 21/11/2007, 11h59
  3. g�n�ralisation d'un code pour plusieurs lignes XL
    Par oliver75 dans le forum Macros et VBA Excel
    R�ponses: 11
    Dernier message: 20/07/2007, 17h58
  4. [VBA-E] r�p�ter un tri d�croissant pour plusieurs lignes
    Par rajmoule dans le forum Macros et VBA Excel
    R�ponses: 7
    Dernier message: 30/03/2006, 17h12
  5. [excel vba]case � cocher dans excel pour plusieurs lignes
    Par fcoisb dans le forum Macros et VBA Excel
    R�ponses: 4
    Dernier message: 02/03/2005, 11h23

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