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 :

[HTML/JavaScript] Rendre visible une ligne d'un tableau


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Points : 137
    Points
    137
    Par défaut [HTML/JavaScript] Rendre visible une ligne d'un tableau
    Bonjour à tous,
    Je souhaite rendre visible deux lignes d'un tableau uniquement selon une certaine condition (la valeur choisie dans un SELECT d'un formulaire). J'ai pensé placer mes lignes (qui contiennent des cellules) dans un <div></div> avec un id et un style="display: none;"
    un petit coup de JavaScript et le tour est normalement joué. Mais non cela ne fonctionne pas ...
    Bref ma question : comment rendre visible/invisible une/plusieurs ligne(s) d'un tableau ?
    Merci
    jb

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Si tu as essayé de faire :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <table>
       <div>
          <tr>
             <td>Gnia</td>
          </tr>
       </div>
    </table>
    Ce n'est pas étonnant que ça ne fonctionne pas.

    Tu peux aussi faire un display:none sur les lignes directement :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table>
       <tr onclick="this.style.display='none'">
          <td>Gnia</td>
       </tr>
    </table>

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Points : 137
    Points
    137
    Par défaut
    Citation Envoyé par Bisûnûrs
    Si tu as essayé de faire :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <table>
       <div>
          <tr>
             <td>Gnia</td>
          </tr>
       </div>
    </table>
    Ce n'est pas étonnant que ça ne fonctionne pas.
    Oui j'ai essayé de faire ca
    Ce n'est peut-etre pas étonnant pour un pro comme toi, pour moi ca l'est peut-etre

    Citation Envoyé par Bisûnûrs
    Tu peux aussi faire un display:none sur les lignes directement :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table>
       <tr onclick="this.style.display='none'">
          <td>Gnia</td>
       </tr>
    </table>
    Plus exactement je souhaite afficher ou non la (les précisement) si une option d'un SELECT est à 0 ou 1. Donc dans mon <select> j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onchange="visibleNumExt()"
    Ma fonction javaScript est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function visibleNumExt() {
    if(document.EditView.statusExt.value=="1") {
    this.document.getElementById("numExt").style.display='inline';
     
    }
    if(document.EditView.statusExt.value=="0") {
    this.document.getElementById("numExt").style.display='none';
     
    }
    }
    et ma ligne est comme ceci :
    Au chargement de la page, la ligne s'affiche correctement. Par contre des que je l'a rend invisible puis visible (en changeant les options), la ligne est déformée et celle ci semble vouloir rentrer dans la taille de la colonne du dessus ...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Points : 137
    Points
    137
    Par défaut
    Je crois que je me rapproche avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    style.visibility='hidden'

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function visibleNumExt() {
       if(document.EditView.statusExt.value=="1") {
          this.document.getElementById("numExt").style.display='block';
       }
       if(document.EditView.statusExt.value=="0") {
          this.document.getElementById("numExt").style.display='none';
       }
    }
    Et si c'est évident, c'est qu'il n'y a pas besoin d'un être pro (chose que je ne suis pas) pour savoir qu'une balise table ne prend pas de div en élément enfant.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Points : 137
    Points
    137
    Par défaut
    Avec block cela ne fonctionne malheureusement pas mieux.
    Je me rapproche assez avec style.visibility='hidden'; malheureusement quand le contenu est caché, il y a toujours une ligne de même hauteur mais sans le contenu ... Du coup c moche, je veux évidement supprimer la ligne dans son ensemble.

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    visibility garde la place allouée à l'élément mais le masque alors que display ne garde pas la place allouée à l'élément, c'est donc display qu'il faut utiliser.

    On peut voir ton code du select et ses options ?

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Points : 137
    Points
    137
    Par défaut
    heu oui ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     <select name="statusExt" tabindex="3" onchange="visibleNumExt()">
     
    <option selected="selected" value="1">Accessible</option>
    <option value="0">Non Accessible</option>

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Points : 137
    Points
    137
    Par défaut
    J'ai trouvé !
    Il faut utiliser :

  10. #10
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function visibleNumExt() {
       if(document.getElementById('statusExt').options[document.getElementById('statusExt').selectedIndex].value=="1"){
          document.getElementById("numExt").style.display='block';
       }
       else{
          document.getElementById("numExt").style.display='none';
       }
    }

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <select id="statusExt" name="statusExt" tabindex="3" onchange="visibleNumExt()">
       <option selected="selected" value="1">Accessible</option>
       <option value="0">Non Accessible</option>
    </select>
     
    <table border="1" >
       <tr id="numExt" style="display:block">
          <td width="200">lighre</td>
          <td width="200">^repfjgùmfdj</td>
       </tr>
       <tr style="display:block">
          <td width="200">pojrgojerg</td>
          <td width="200">pergperg</td>
       </tr>
    </table>

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

Discussions similaires

  1. rendre visible une ligne dans datagridview
    Par toutou2000 dans le forum C#
    Réponses: 1
    Dernier message: 26/03/2009, 11h30
  2. [HTML]Débutant-Suppression d'une ligne dans un tableau
    Par Kotik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 19/07/2006, 11h53
  3. FlexGrid : Rendre visible une ligne
    Par pcvesoul dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 10/05/2006, 14h38
  4. [List] Rendre visible une ligne
    Par grand_duck dans le forum Composants
    Réponses: 5
    Dernier message: 30/10/2005, 23h45
  5. [HTML/JAVASCRIPT]Sortir d'une iframe
    Par tidou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/01/2005, 15h26

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