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 :

est-il possible de sélectionner une colonne d'une table et de la rendre invisible ??


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut est-il possible de sélectionner une colonne d'une table et de la rendre invisible ??
    Bonsoir,

    j'aimerai faire apparaitre et disparaitre des colonnes d'une table.
    Pensez vous qu'il soit possible de sélectionner une colonne spécifique..?

    Merci
    ++

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    alors...

    ça risque d'être un peu délicat, parce qu'une colonne n'existe pas en tant que telle... ce sont plutôt les lignes qui existent...

    si comme ça le devrait, il n'y a pas de rowspan dans ton tableau, tu peux toujours utiliser ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function hide_col(var table, var num_col)
    {
       lines = table.getElementsByTagName('tr');
       for(var i = 0; i < lines.length; ++i)
          lines[i].getElementsByTagName('td')[num_col].style.display = 'none';
    }
    Il y a aussi la fonction inverse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function show_col(var table, var num_col)
    {
       lines = table.getElementsByTagName('tr');
       for(var i = 0; i < lines.length; ++i)
          lines[i].getElementsByTagName('td')[num_col].style.display = 'table-cell';
    }
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut
    Je vais essayer ça j'espere que ca va marcher..
    Merci bien

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut
    Je voudrai juste savoir c'est bien du javascript..?
    Parceque quand j'insère le code ca fout un peu le bordel et plus rien ne fonctionne.

    Quand je lance sur intenet explorer il y a une erreur du type identificateur attendu.

    Merci encore

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    oui, c'est du JavaScript...

    il manque juste un var devant lines (mais IE ne devrait rien dire, surtout lui)

    tu lui passes quoi en argument ?

    le premier doit être la balise table elle-même (pas une id ou autre, mais l'objet DOM lui même)
    le second le numéro de la colonne (la première a le numéro 0, la seconde 1, etc...)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    cela rejoint la question où tu demandais de rendre un label invisible

    je prétend que tu peux également le faire avec du css : si tu mets une classe sur les td que tu désires rendre invisibles et que tu passes cette classe en display:none cela doit également fonctionner

    cela ne veut pas dire que le javascript est mauvais, tout dépend du contexte et de ce que tu souhaites exactement

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par francis m
    cela rejoint la question où tu demandais de rendre un label invisible

    je prétend que tu peux également le faire avec du css : si tu mets une classe sur les td que tu désires rendre invisibles et que tu passes cette classe en display:none cela doit également fonctionner

    cela ne veut pas dire que le javascript est mauvais, tout dépend du contexte et de ce que tu souhaites exactement
    Le problème est de modifier dynamiquement les caractèristiques de la classe, c'est plus dur déjà
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut
    Pour les arguments, j'ai mis ("R2",0) avec R2 le id mais je ne sais pas quoi mettre d'autres. la tablen'a pas de nom donc g créé un id pourl a différencier des autres..
    je ne vois ce que c'est :
    le premier doit être la balise table elle-même (pas une id ou autre, mais l'objet DOM lui même)

  9. #9
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    si elle a un id pour la différencier des autres, tu peux la récupérer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('R2')
    c'est ça qu'il faut passer comme premier argument à la fonction ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut
    il me fait toujours la même erreur, quelle version de javascript faut-il que je mette dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script language="javascript">
    vous pensez que ca vient de la..?
    je ne sais vraiment pas ce qui se passe..

  11. #11
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    tu peux donner la page HTML que tu utilises pour faire les tests ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut
    je te la mets en fichier attaché..merci bien

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut
    Voila dsl je me suis raté !!
    Fichiers attachés Fichiers attachés

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    Citation Envoyé par Swoög
    Le problème est de modifier dynamiquement les caractèristiques de la classe, c'est plus dur déjà
    cela dépend quand tu veux le faire : soit après chargement de la page, donc en javascript (en supposant que ton client ne l'a pas désactivé), soit lors du chargement de ta page.

    si c'est lors du chargement de ta page, par exemple en php, il suffit de faire un test de ce genre, avec un if en fonction de tes conditions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <style type="text/css">
      #maclasse { display:none; }
    </style>

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut
    moi j'aimerai afficher et faire disparaitre a ma guise suisvant les valeurs d'un select.
    comme ca je ne suis pas sur que ca marche.

  16. #16
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    les noms des paramètres et des fonctions semblaient poser problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function HC(a, b)
    {
       var lines = a.getElementsByTagName('tr');
       for(var i = 0; i < lines.length; ++i)
          lines[i].getElementsByTagName('td')[b].style.display = 'none';
    }
    function SC(a, b)
    {
       var lines = a.getElementsByTagName('tr');
       alert(lines);
       for(var i = 0; i < lines.length; ++i)
          lines[i].getElementsByTagName('td')[b].style.display = 'table-cell';
    }
    mais ça ne marchera pas en l'état actuel, car toute ta table est en visibility : hidden...

    il faut les repasser en visible...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut
    oki cool j'essai ca merci!!
    dc si j'ai bien compris je passe la table en visible puis ja passe chaque colonnes en "none" et puis kan je veux en "cell"...?

  18. #18
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    voilà, par exemple...

    ou plus simple, à l'origine, la table est visible, et chaque td est en display : none
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  19. #19
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    le tout est de savoir si tu recharges ta page ou non
    et cela c'est ton choix

    si tu recharges ta page, utilises php
    si tu ne la recharges pas, utilises javascript (sachant que certains clients le désactive)

    je sais que normalement la balise style doit être dans le head
    mais je l'ai déjà mis dans le body et sur les navigateurs que j'ai essayé cela fonctionnait correctement

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Points : 55
    Points
    55
    Par défaut
    Salut,

    J'ai essayé les fonctions que vous m'aviez donné mais on me dit qu'il est impossible d'obtenir la propriété display au niveau de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(var i = 0; i < lines.length; ++i)
          lines[i].getElementsByTagName('td')[b].style.display = 'table-cell';
    Si quelqu'un pouvait m'aider...
    Merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/07/2015, 11h44
  2. Réponses: 2
    Dernier message: 23/03/2011, 16h12
  3. Réponses: 0
    Dernier message: 23/03/2011, 01h23
  4. Est-il possible de retourner la source d'une page dans une variable ?
    Par sachav dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/12/2007, 18h02
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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