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 :

fonction cacher colonne tableau


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 63
    Points
    63
    Par défaut fonction cacher colonne tableau
    Bonjour
    J'arrive à cacher une colonne de tableau d'une fiche d'exercice de maths lors d'un clic sur ce lien :

    echo "<a href=\"#\" onclick=\"cacher('col2')\" title=\"cliquer pour cacher les solutions\">Cacher les solutions</a></center>";
    Le probleme, c'est que quand jarrive sur la page, je vois les solutions, et je peux cliquer sur "cacher les solutions", ça marche trés bien, mais moi je voudrais arriver sur la page, et plutot avoir le lien "afficher les solutions".
    Quelles modifs je dois faire ?
    Merci beaucoup !!

    Voici mon code javascript :

    function cacher(coll)

    {

    var elmt = document.getElementById('tbl');

    var elmtsCellule = 'th|td'.split('|');

    for(j=0; j < elmtsCellule.length; j++)

    {

    var cells = elmt.getElementsByTagName(elmtsCellule[ j]);

    for (i=0; i < cells.length; i++)

    if (cells[ i ].className == coll)

    if (cells[ i ].style.display != 'none')

    cells[ i ].style.display = 'none';

    else

    try

    {cells[ i ].style.display = 'table-cell';}

    catch (ex)

    {cells[ i ].style.display = 'block';}

    }

    }

    </script>

  2. #2
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Tu n'as qu'à faire une focntion afficher() comme tu as fait la fonction cacher() ... Il te suffit juste de mettre l'attribut display à 'none' dès le début...

  3. #3
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 63
    Points
    63
    Par défaut
    linar009, peux tu me donner le code modifié pour avoir la fonction afficher ?
    Merci bcp

  4. #4
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 63
    Points
    63
    Par défaut
    Comment mettre l'attribut display à 'none' dès le début ?
    Merci !

  5. #5
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    tu peux utiliser l'évènement onload de la balise body, lorsque la page se charge, la fonction appelée par cet évènement est exécutée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="cacher();">

  6. #6
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par isa150183
    linar009, peux tu me donner le code modifié pour avoir la fonction afficher ?
    Merci bcp
    Et bien au lieu de tes style.display = 'none' tu mets des style.display = 'inline'

    Et puis pour mettre le style display none dès le début tu n'as qu'à mettre

    STYLE='DISPLAY:none'
    dans les balises HTML concernées...

  7. #7
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    Citation Envoyé par linar009
    Et bien au lieu de tes style.display = 'none' tu mets des style.display = 'inline'
    ce sera soit table-row (s'il s'agit de lignes), soit table-cell (s'il s'agit de colonnes).
    http://giminik.developpez.com/xhtml/tr
    http://giminik.developpez.com/xhtml/td

  8. #8
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par giminik
    ce sera soit table-row (s'il s'agit de lignes), soit table-cell (s'il s'agit de colonnes).
    http://giminik.developpez.com/xhtml/tr
    http://giminik.developpez.com/xhtml/td
    quoi ?

  9. #9
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    J'ai pas vraiment compris ce que tu voulais dire mais le style display existe bien pour les balises <TR> et <TH>

  10. #10
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    pour un élément tr, ce sera display:table-row, et pour un élément td ou th, ce sera display:table-cell. ce ne sont pas des éléments de type bloc ou inline.

  11. #11
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    ah ok!
    Oui tu as raison...
    C'est juste parce que je ne me rappelais plus qu'il s'agissaient de lignes et de colonnes de tableau

    Mea Culpa

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 18
    Points : 22
    Points
    22
    Par défaut
    Tout simplement magnifique

    J'ai adapaté ton script et il marche très bien sur ma table pour afficher/cacher une colonne

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

Discussions similaires

  1. [XL-2010] remplacer occurences dans une colonne en fonction d'un tableau
    Par gerald2545 dans le forum Excel
    Réponses: 1
    Dernier message: 27/06/2015, 17h10
  2. [VB.NET] DataSet - DataGrid - Cacher Colonne
    Par Seb.M dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/03/2005, 12h37
  3. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 15h33
  4. fonction renvoyant un tableau en argument
    Par Jones dans le forum Langage
    Réponses: 6
    Dernier message: 30/09/2002, 18h20
  5. Fonction de type tableau
    Par Charles f dans le forum Langage
    Réponses: 5
    Dernier message: 04/08/2002, 14h04

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