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 :

Afficher/Masquer une colonne d'un tableau


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Points : 67
    Points
    67
    Par défaut Afficher/Masquer une colonne d'un tableau
    Bonjour,

    J'ai récupéré le code ci-dessous qui fonctionne très bien, simplement je souhaiterais que certaines colones soient masquées dès l'ouverture de la page , j'ai essayé de faire des modifications, sans succes, pourriez vous m'éclairer.
    Merci par avance.

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
     
    <html>
     
      <script type="text/javascript">
     
        function inverse(ID, COL){
          var table = document.getElementById(ID);      
          var nom = navigator.appName;
          if (nom == 'Netscape'){
            var detail=document.getElementsByName(COL);
          } else {
            var detail=getCellByName(table,COL);
          }
          if (detail[0].style.display == ""){
            for(var i = 0; i < detail.length; ++i) detail[i].style.display = "none";
          } else {
            for(var i = 0; i < detail.length; ++i) detail[i].style.display = "";
          }
        }
     
    	  function getCellByName(tab, nom){
    		  var cols=new Array();
    		  cellules=tab.getElementsByTagName("td");
    		  for(var i = 0; i < cellules.length; ++i){
    			  if(cellules[i].name==nom){
    				  cols[cols.length]=cellules[i];
    			  }
    		  }
    		  return cols;
    	  }
     
      </script>
     
      <body>
        Masquer/Afficher Col0 : <input type='checkbox' name='checkcol0' onClick="inverse('tb', 'col0');"CHECKED><BR>
        Masquer/Afficher Col1 : <input type='checkbox' name='checkcol1' onClick="inverse('tb', 'col1');" CHECKED><BR> 
        Masquer/Afficher Col2 : <input type='checkbox' name='checkcol2' onClick="inverse('tb', 'col2');" CHECKED><BR> 
        Masquer/Afficher Col3 : <input type='checkbox' name='checkcol3' onClick="inverse('tb', 'col3');" CHECKED><BR>
        <BR>     
        <table border="1" id="tb">
          <tr>
            <td name="col0">Nom</td>
            <td name="col1">Prénom</td>
            <td name="col2">Age</td>
            <td name="col3">Ville</td>
         </tr>
         <tr>
            <td name="col0">Dupont</td>
            <td name="col1">Henri</td>
            <td name="col2">25</td>
            <td name="col3">Rennes</td>
         </tr>
         <tr>
            <td name="col0">Durand</td>
            <td name="col1">Paul</td>
            <td name="col2">35</td>
            <td name="col3">Lyon</td>       
          </tr>
          <tr>
            <td name="col0">Martin</td>
            <td name="col1">Claude</td>
            <td name="col2">40</td>
            <td name="col3">Paris</td>
          </tr>  
        </table> 
      </body>
     
    </html>

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ben fais toi une fonction qui le fait ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function initTab(tab, cols){
    for(idx in cols) {
               inverse(tab, cols[idx])
    }
    }
    que tu lances dans le onload

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="initTab('tb',['col1','col2]);" >

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    J'ai récupéré le code ci-dessous qui fonctionne très bien
    Il date quand même pas mal ton script...

    Par exemple, pourquoi cette mystique condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          if (nom == 'Netscape'){
            var detail=document.getElementsByName(COL);
          } else {
            var detail=getCellByName(table,COL);
          }
    ???

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Points : 67
    Points
    67
    Par défaut
    Bovino je ne serais pas reprondre a tes questions je suis pas tout a fait à l'aise avec javascript.

    Mais effectivement en plaçant la demande dans un OnLoad ca fonctionne très.

    Merci...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <body onload="inverse('tb', 'col0');inverse('tb', 'col1');" >

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

Discussions similaires

  1. [Performance] Afficher/Masquer une colonne
    Par Rctiste dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 27/06/2011, 19h39
  2. Masquer une colonne dans un tableau sous ffx
    Par Mengué georges dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 15/02/2010, 08h57
  3. Afficher/Masquer les colonnes d'un tableau
    Par snheed dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 22/10/2009, 12h20
  4. Afficher/masquer des colonnes d'un tableau
    Par fre3d0m dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/07/2009, 19h09
  5. [VxiR2] Masquer une colonne d'un tableau
    Par scalpa63 dans le forum Deski
    Réponses: 4
    Dernier message: 19/02/2009, 12h08

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