Estoy tratando de recuperar la suma de todos los valores en una td en función de una clase específica. El código no arroja ningún error pero mi suma sigue dando como resultado "0".suma todos los valores para la columna de la tabla según la clase
¿Los valores numéricos deben especificarse de una manera particular? Vi algunas otras respuestas aquí en SO de donde he imitado el código, y no veo ninguna diferencia real entre la mía y la de ellos, así que estoy confundido sobre por qué el mío no está funcionando.
Aquí hay un tutorial i seguido de referencia: http://viralpatel.net/blogs/2009/07/sum-html-textbox-values-using-jquery-javascript.html
Aquí es mi 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);
};
Aquí está mi 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>
Eso fue brillante gracias. No sabía que podrías acortar el código para recorrer los elementos de la forma que describes. eso fue muy útil. gracias –
Bueno, no acorté el código que estaba bucleando. Estabas haciendo bucles dos veces; uno en su controlador 'onload' y nuevamente dentro de la función' calculateSum() '. Eliminé el primero. Hice un atajo a la definición del manejador 'listo'. –
me ayudó, gracias Rob – StreetCoder