2010-10-08 15 views
0

J'ai une table avec 3 colonnes et j'ai besoin d'obtenir la somme des valeurs dans la deuxième colonne Je garde une identification qui est utilisée pour identifier les cellules d'addition. J'ai besoin de le faire dans la requête J. Je voudrais savoir comment je peux accéder à chaque ligne et colonnes d'une table en utilisant pour la boucle.Ajouter des valeurs dans les lignes d'une table?

<table> 
    <tr> 
     <td>ID</td> 
     <td>Mark</td> 
    <tr> 
     <td>1</td> 
     <td>40</td> 
    </tr> 
    <tr> 
     <td>2</td> 
     <td>35</td> 
    </tr> 
    <tr> 
     <td>1</td> 
     <td>52</td> 
    </tr> 
</table> 

Puis-je accéder chaque lignes à l'aide des indices comme [ligne] #tbl [col] etc .Thnaks Dans Advance JE DOIS LES VALEURS AJOUTER OU ID SERA UN QUI EST PRÉVU DE SORTIE 92 [ 40 + 52]

+0

La somme des valeurs de la deuxième colonne est 40 + 35 + 52 = 127. Avez-vous délibérément omis la deuxième ligne de votre addition? Si oui, pourquoi? Et que sont les 'id's ou' class'es qui sont censés être additionnés? –

+0

@David Thomas- Il est clair pour moi que 'ID [1]: Mark [40]' et un autre 'ID [1]: Mark [52]', et que l'OP a ajouté 'Mark' à' 92', '40 + 52'. Eh bien, je peux me tromper. – Reigel

+0

@Reigel - Oui, c'était le résultat dont j'avais besoin. J'ai besoin d'obtenir la somme si l'ID est la même. – kbvishnu

Répondre

2

Quelque chose comme ça fonctionnerait:

​function getTotal(id) { 
    var total = 0; 
    $("td:first-child").filter(function() { return this.innerHTML == id; }) 
     .next().each(function() { total += parseInt(this.innerHTML, 10); }); 
    return total;   
} 

Par exemple:

alert(getTotal(1)); // alerts 92 
alert(getTotal(2)); // alerts 35 

You can test it out here, ce que cela fait est d'obtenir les premières colonnes de cellules, fait .filter() jusqu'à ceux qui correspondent à l'ID (ne pas utiliser :contains() ici, c'est une correspondance de sous-chaîne) puis pour les correspondances, obtenir la cellule voisine en utilisant .next(). Pour ces cellules, nous utilisons simplement praseInt() pour obtenir le numéro et l'ajouter au total.

+0

merci pour votre réponse. Mais je dois changer l'ID pour durer.Comment puis-je accéder à la dernière colonne.Situation similaire.Mais le style de cette colonne est réglé pour afficher: aucun – kbvishnu

+0

@Hari - I ne suis pas, vous voulez mettre à jour la dernière colonne de * chaque * de ces lignes avec le total? –

+0

@Merci Nick :) J'ai changé du code et l'a fait fonctionner Merci – kbvishnu

Questions connexes