Nếu bạn có thể nhận được các giá trị trong một mảng, bạn không cần phải sử dụng jQuery để tổng hợp chúng. Bạn có thể sử dụng các phương thức đã có trên đối tượng mảng để thực hiện công việc.
Mảng có phương thức .reduce(). Tài liệu: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/Reduce
Array.reduce chấp nhận hàm làm đối số hoạt động như một cuộc gọi lại tích lũy. Hàm accumulator chấp nhận 4 đối số (previousValue, currentValue, index, array). Bạn chỉ cần 2 trong số họ để tổng hợp. 2 đối số đó là trướcValue và currentValue.
Nếu bạn gặp phải vấn đề về tính tương thích khi môi trường đích không hỗ trợ ECMAScript 5 trở lên, hãy sử dụng định nghĩa mẫu được xác định trong bài viết MDN được liên kết. (Được đính kèm bên dưới)
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;
};
}
ID phải là ** duy nhất **! (và có, bạn có thể) –
Sử dụng thuộc tính 'class' thay vì thuộc tính' id'. (Bạn không thể có nhiều hơn thì một phần tử có cùng ID trên trang.) –
ok nếu tôi tạo ID duy nhất thì tôi có thể làm như thế nào? Hãy nhớ rằng unitprice là động như tôi click vào Add new row và nó tạo ra một unitprice khác. Vì vậy, tôi cần số tiền của họ. – Faizan