Si usted puede conseguir los valores en una matriz, no tiene que utilizar jQuery para sumarlos. Puede usar métodos ya presentes en el objeto de matriz para hacer el trabajo.
Las matrices tienen un método .reduce(). Documentación: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/Reduce
Array.reduce acepta una función como argumento que actúa como una devolución de llamada acumulador. La función del acumulador acepta 4 argumentos (previousValue, currentValue, index, array). Solo necesitas 2 de ellos para sumar. Esos 2 argumentos son previousValue y currentValue.
var sampleArray = [1, 2, 3, 4, 5];
var sum = sampleArray.reduce(function(previousValue, currentValue){
return currentValue + previousValue;
});
Si usted se enfrenta con un problema de compatibilidad en el entorno de destino no es compatible con ECMAScript 5 o por encima de adiciones, utilice la definición prototipo definido en el artículo MDN vinculado. (Anexado a continuación)
if (!Array.prototype.reduce) {
Array.prototype.reduce = function reduce(accumulator){
if (this===null || this===undefined) throw new TypeError("Object is null or undefined");
var i = 0, l = this.length >> 0, curr;
if(typeof accumulator !== "function") // ES5 : "If IsCallable(callbackfn) is false, throw a TypeError exception."
throw new TypeError("First argument is not callable");
if(arguments.length < 2) {
if (l === 0) throw new TypeError("Array length is 0 and no second argument");
curr = this[0];
i = 1; // start accumulating at the second element
}
else
curr = arguments[1];
while (i < l) {
if(i in this) curr = accumulator.call(undefined, curr, this[i], i, this);
++i;
}
return curr;
};
}
¡Los identificadores tienen que ser ** únicos **! (y sí, puede) –
Utilice los atributos 'class' en lugar de los atributos' id'. (No puede tener más de un elemento con el mismo ID en la página.) –
ok si hago ID únicos, ¿cómo puedo hacerlo? Recuerde que el precio unitario es dinámico, como hago clic en Agregar nueva fila y crea otro precio unitario. Entonces necesito su suma. – Faizan