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 les lignes de mon tableau


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Cacher les lignes de mon tableau
    Bonjour,

    Voici mon code html:

    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
     
    <div id="tablecontainer">
    <table>
    <caption>Titre tableau</caption>
    <tr><th>Titre colonne 1</th><th>Titre colonne 2</th><th>Titre colonne 3</th></tr>
    <tr><td>Ligne 1</td><td>Ligne 1</td><td>Ligne 1</td></tr>
    <tr><td>Ligne 2</td><td>Ligne 2</td><td>Ligne 2</td></tr>
    <tr><td>Ligne 3</td><td>Ligne 3</td><td>Ligne 3</td></tr>
    <tr><td>Ligne 4</td><td>Ligne 4</td><td>Ligne 4</td></tr>
    <tr onclick="alert('Ma fonction: je voudrais cacher les lignes 1, 2, 3 et 4!')"><td>Sous-total 1</td><td>Sous-total 1</td><td>Sous-total 1</td></tr>
    <tr><td>Ligne 5</td><td>Ligne 5</td><td>Ligne 5</td></tr>
    <tr><td>Ligne 6</td><td>Ligne 6</td><td>Ligne 6</td></tr>
    <tr><td>Ligne 7</td><td>Ligne 7</td><td>Ligne 7</td></tr>
    <tr onclick="alert('Ma fonction: je voudrais cacher les lignes 5, 6 et 7!')"><td>Sous-total 2</td><td>Sous-total 2</td><td>Sous-total 2</td></tr>
    </table>
    </div>
    Comment faire en Javascript pour que quand je clique sur les lignes sous-total les lignes au dessus se masquent (si elles sont visibles) ou s'affichent (si elles sont masquées)? En donnant un id à chaque tr?

    Je voudrais avoir ça sous forme de fonction mais je ne sais pas trop comment m'y prendre pour que ça soit compatible avec IE et conforme en xhtml strict.

    Pouvez-vous m'aider?

    Merci d'avance.

    A+

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    ce que je ferai, c'est changer la propriété display du tr sur lequel tu à cliquer.

    tu peu également mettre cette propriété directement dans ta feuille de style et changer le style avec javascript

  3. #3
    Membre averti Avatar de Tdeny
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 287
    Points : 311
    Points
    311
    Par défaut des DIV
    Bonjour,
    Une solution mais en méttant tout dans des DIV.
    Tu peux toujours essayer en appliquant ça à des lignes de tables, des TR.
    Mais je ne sais si ça marchera.

    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
    <html>
    <script>
    function chg0(obj0) {
    if(document.getElementById(obj0).style.display =='none')
    {document.getElementById(obj0).style.display='inline';}
    else {document.getElementById(obj0).style.display='none';}
    }
    </script>
    <div id="tablecontainer">
    <div align="center;width:100%;border:1px solid black;">Titre tableau</div>
    <div id="div0" border:1px solid black;display:inline;">
    <div style="width="33%;float:left;text-align:center">Titre colonne 1</div>
    <div style="width="33%;float:left;text-align:center">Titre colonne 2</div>
    <div style="width="33%;float:left;text-align:center">Titre colonne 3</div>
    </div>
    <div><a href="#" onClick="chg0('div0');return false">Sous-total 1</a></div>
    </html>
    Vendez votre habileté et achetez l’ahurissement.
    L’habileté est seulement l’opinion, l’ahurissement l’intuition.
    Djalal–eddine Roumi

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Merci pour ta réponse mais en mettant tout dans des div, je ne passe plus le validateur w3c.

    Une autre idée?

    A+

  5. #5
    Membre averti Avatar de Tdeny
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 287
    Points : 311
    Points
    311
    Par défaut
    Eh bien tu essayes de faire exactement la même chose en mettant ça sur les <tr>, en <tr id="tr0"> par exemple.
    Nécessite une id.
    Vendez votre habileté et achetez l’ahurissement.
    L’habileté est seulement l’opinion, l’ahurissement l’intuition.
    Djalal–eddine Roumi

Discussions similaires

  1. Cacher les lignes d'un tableau
    Par azorol dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/05/2013, 16h20
  2. [Vxi3] Fusionner les lignes de mon tableau croise
    Par Bûth dans le forum Webi
    Réponses: 4
    Dernier message: 24/08/2012, 01h45
  3. cacher une ligne de mon tableau
    Par hihi30 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/01/2009, 16h44
  4. Réponses: 2
    Dernier message: 17/06/2008, 12h14
  5. espace entre les lignes de mon tableau
    Par paolo2002 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 17/04/2008, 13h03

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