webForumDet fria alternativet

Uppdatera each() efter dynamisk laddning?

1 svar · 642 visningar · startad av bassebhu

bassebhuMedlem sedan nov. 20014 028 inlägg
#1

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!

bassebhuMedlem sedan nov. 20014 028 inlägg
#2

Någon som har nån idé om vad det kan vara? Tack!

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb