Sto cercando di recuperare la somma di tutti i valori in un td in base a una classe specifica. Il codice non genera errori, ma la mia somma continua a produrre "0".somma tutti i valori per la colonna della tabella in base alla classe
I valori numerici devono essere specificati in un modo particolare? Ho visto alcune altre risposte qui su SO da dove ho imitato il codice, e non vedo alcuna differenza reale tra la mia e la loro, così sono confusa sul motivo per cui il mio non funziona.
Ecco un tutorial ho seguito per riferimento: http://viralpatel.net/blogs/2009/07/sum-html-textbox-values-using-jquery-javascript.html
Ecco il mio javascript
$(document).ready(function(){
$('.price').each(function() {
calculateSum();
});
});
function calculateSum() {
var sum = 0;
//iterate through each td based on class and add the values
$(".price").each(function() {
//add only if the value is number
if(!isNaN(this.value) && this.value.length!=0) {
sum += parseFloat(this.value);
}
});
$('#result').text(sum);
};
Ecco il mio html
<table border="1">
<tr>
<th>Item</th>
<th>Price</th>
</tr>
<tr>
<td>Banana</td>
<td class ="price">50</td>
</tr>
<tr>
<td>Apple</td>
<td class ="price">100</td>
</tr>
</table>
<div id="result"></div>
E 'stato brillante grazie. Non sapevo che potresti abbreviare il codice per il loop su elementi nel modo in cui descrivi. è stato molto utile grazie –
Beh, non ho accorciato il codice che stava girando. Eri in loop due volte; uno nel tuo gestore di 'onload' e di nuovo all'interno della funzione 'calculateSum()' stessa. Ho rimosso il primo. Ho fatto scorciatoia la definizione del 'ready' handler. –
mi ha aiutato, grazie Rob – StreetCoder