Hallå!
Jag har tabell där varje rad har ett siffervärde i ett data-attribut. Nedanför tabellen skriver jag ut summan av alla siffervärdena. Med ajax kan jag byta ut ett värde och vill då att summan ska omkalkyleras.
Det funkar bra sånär som på att det bara funkar första gången, sen händer nåt dom-strul och bara siffervärdena byts, inte summan.
Typ såhär:
<table>
<tr id="row-1" data-value="10"><tr>
<tr id="row-2" data-value="20"><tr>
</table>
<div id="sum">30</div>
$('#row-1').data('value', 20); // Sätter nytt värde till raden, "20" hämtas egentligen med ajax
$(document).updateSum(); // Kör funktion för att uppdatera summan
$.fn.updateSum = function() {
var total = 0;
$('table tr').each(function() {
total = total+$(this).data('value');
});
$('#sum').html(total); // Ska nu bli 40
};
Jag gissar att det går bra första gången för att each() inte har körts än och efter att den har gjort det så hämtar den inga uppdaterade värden. Hur grejar jag den här nöten? Bör jag ens lägga funktionen på document?
Tack!