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 :

Compter le nombre de lignes de chaque tableau


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut Compter le nombre de lignes de chaque tableau
    Bonjour,

    J'ai sur ma page 5 tableaux et je souhaite compter les lignes de chaque tableau donc j'ai ceci; "ici 2 tableau exemple"

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    <script type="text/javascript">
    window.onload = function () {
    var NbNon = 0, NbOn =0;
    var liste = document.getElementById("montableau").rows;
    for (var i=0; i<liste.length; i++)
    document.getElementById("nblignes").innerHTML = liste.length-1;
    }
    </script>
     
    <script type="text/javascript">
    window.onload = function () {
    var NbNon = 0, NbOn =0;
    var liste = document.getElementById("montableau2").rows;
    for (var i=0; i<liste.length; i++)
    document.getElementById("nblignes2").innerHTML = liste.length-1;
    }
    </script>        
    </head>
     
    <body>
     
       <p>Nombre de lignes : <span id="nblignes"></span></p>
     
    <table id="montableau" >
     
          <tr>
        <th class="pays">Pays</th>
        <th class="carte">Cartes</th>
        <th class="drapeau">Drapeaux</th>
        <th class="lien">Liens</th>
      </tr>
     
     
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
          <td class="td_text"ROWSPAN=3>États-Unis</td>
     
        <td >&nbsp;1</td>
        <td >&nbsp;2</td>
        <td >&nbsp;3</td>
      </tr>
      <tr>
     
        <td >&nbsp;1</td>
        <td >&nbsp;2</td>
        <td >&nbsp;3</td>
       </tr>
      <tr>
     
        <td >&nbsp;1</td>
        <td >&nbsp;2</td>
        <td >&nbsp;3</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
          <td class="td_text"ROWSPAN=5>France</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
     
    </table>
     
     <p>Nombre de lignes : <span id="nblignes2"></span></p>
     
    <table id="montableau2" >
     
          <tr>
        <th class="pays">Pays</th>
        <th class="carte">Cartes</th>
        <th class="drapeau">Drapeaux</th>
        <th class="lien">Liens</th>
      </tr>
     
     
     
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
          <td class="td_text"ROWSPAN=3>Chine</td>
     
        <td >&nbsp;1</td>
        <td >&nbsp;2</td>
        <td >&nbsp;3</td>
      </tr>
      <tr>
     
        <td >&nbsp;1</td>
        <td >&nbsp;2</td>
        <td >&nbsp;3</td>
       </tr>
      <tr>
     
        <td >&nbsp;1</td>
        <td >&nbsp;2</td>
        <td >&nbsp;3</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
          <td class="td_text"ROWSPAN=2>Italie</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
       </tr>
     
     
    </table>
    Mon problème est que je souhaiterai avoir un seul code JavaScript pour les cinq tableaux.

    je vous remercie de votre aideet vous souhaite une bonne journée

    Max

  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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Tu peux déja commencer par faire une fonction en y passant le tableau ...

    soit tu fais un array avec les id de tes tableaux et tu boucles dessus


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var liste = document.getElementById(tabIds[i]).rows;
    soit tu récupères les tableaux avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('TABLE')
    quel interet de boucler sur le rows pour incrémenter ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var NbNon = 0, NbOn =0;
    var liste = document.getElementById("montableau2").rows;
    document.getElementById("nblignes2").innerHTML = liste.length-1;
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Bonjour SpaceFrog,

    Je te remercie j'ai essayer les deux codes mais sa ne fonctionne pas ou alors je me suis planté!

    Max

  4. #4
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Ce que @NoSmoking t'explique c'est que soit tu le fait dynamiquement dans une boucle avec un tableau des tables (les 5) document.getElementsByTagName('TABLE') soit le faire par le biais de son ID table par table avec document.getElementById("ID").

    Avec ça tu pourrait faire une simple function qui pourrait ressembler à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function countRows(){
      var tables = document.getElementsByTagName('TABLE');
      var divs = document.querySelectorAll('[id^="nblignes"]')
      for(let i =0; i < tables.length; i++){
        var liste = tables[i].rows;
        document.getElementById(divs[i].id).innerHTML = "Nombre de lignes : " + liste.length;
      } 
    }
    document.body.onload = function(){
      countRows();
    }
    démo : https://codepen.io/headmax/pen/eyPEye?editors=1010

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Salut headmax

    Je te remercie sa fonctionne nickel, Juste un petit truc comment je peu faire sur le code pour mettre " Nombre de lignes -1"

    Je te remercie et te souhaite une bonne journée
    Max

  6. #6
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    Il suffit de changer la ligne : document.getElementById(divs[i].id).innerHTML = "Nombre de lignes : " + liste.length;...

    par document.getElementById(divs[i].id).innerHTML = "Nombre de lignes -1 : " + (liste.length -1);...

    Les parenthèses sont nécessaires pour éviter la concaténation avant la soustraction...

    PS : C'est pour les tables des régions en trois langues ?

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Salut Beginner,

    PS : C'est pour les tables des régions en trois langues ?
    non c'est pour le même fichier mais pas pour les régions en trois langues.

    J'ai bien essayé la façon que tu me donne sa me donne ceci "NaN"

    @+ et merci de ton intervention

    Max

  8. #8
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Citation Envoyé par headmax Voir le message
    Ce que @NoSmoking t'explique c'est...
    Je te comprends c'est vrai que NoSmoking réponds souvent mais là c'est SpaceFrog...

  9. #9
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Citation Envoyé par apdf1 Voir le message
    J'ai bien essayé la façon que tu me donne sa me donne ceci "NaN"
    Tu as bien mis les parenthèses ?

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Re,

    Autant pour moi sa fonctionne nickel je m'excuse!!!!

    Merci

  11. #11
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Beginner

    Peut tu me dire avec ce code. J'ai cinq tableaux chaque tableau à un résultat du nombre de ligne. Comment je peut additionner les cinq résultats ?

    Max

  12. #12
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Il n' y a pas de quoi...

    C'était bien les parenthèses alors ?

  13. #13
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Additionner les "nombre de ligne" ou bien les "nombre de ligne - 1" ?

  14. #14
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Re,

    Additionner les "nombre de ligne - 1" des cinq tableau

    Merci

  15. #15
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Teste cela : http://jsbin.com/yuwulepera/edit?html,js,output

    La somme s'affiche à la fin...

  16. #16
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Re,

    Nickel je te remercie et te souhaite une bonne fin d'après-midi.

    Max

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/05/2015, 23h17
  2. Compter nombres de lignes dans un tableau
    Par blanquettedeveau dans le forum VBScript
    Réponses: 2
    Dernier message: 08/07/2014, 12h41
  3. Trouver le nombre de ligne pour chaque tableau de chaque feuille
    Par andy05 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/03/2014, 00h58
  4. Compter le nombre de caractères de chaque ligne d'un fichier
    Par Moi302 dans le forum Shell et commandes POSIX
    Réponses: 7
    Dernier message: 28/12/2012, 10h54
  5. [tableau]compter le nombre de ligne
    Par melisse dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/02/2007, 11h31

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