Partage
  • Partager sur Facebook
  • Partager sur Twitter

Calcul somme de colonnes de tableau dynamic

21 février 2018 à 16:10:44

Salut a tous,

J'ai un tableau dynamic qu'on peut ajouter une nouvelle ligne apres click, je voudrais calculer la somme des colonnes apres l'evenement keyup sur un td.

L'ajout des linges se fait sans probleme mais je n'arrive pas a afficher la somme des colonnes apres keyup. Voici mes codes:

   <button type="button" class="add-row" >Ajouter</button>
<table>
<tr>
<td>Amount</td>
<td>Price</td>
<td>Result</td>
</td>
</tr>
<tr>
<td class='amount' contenteditable='true'></td>
<td class='price' contenteditable='true' ></td>
<td class='result'></td>
</tr>
</table>

<div class="tot-sub-tot"></div>

//Ajout de nouvelle ligne apres clik
//Add new row on click
$(".add-row").click(function(){
var markup = "<tr><td class='amount' contenteditable='true'></td><td class='price' contenteditable='true' ></td><td class='result'></td></tr>";
$("table tbody").append(markup);
});

//Tentative d'afficher la somme des resultats  dans le div (tot-sub-tot)

 $(".price").on("keyup", calculateSum);

function calculateSum() {

    var sum = 0;
    $(".result").each(function () {
    sum += (this).text();
     });
    $(".tot-sub-tot").text(sum.toFixed(2));
}



  • Partager sur Facebook
  • Partager sur Twitter
21 février 2018 à 16:16:45

Essai avec:

$("td").on("keyup", ".price", calculateSum);


Autrement ton listener n'est pas positionné sur un élément non encore créé.

  • Partager sur Facebook
  • Partager sur Twitter
Un petit +1 si je vous ai aidé est toujours appréciable :).