Рейтинг:
1
Sinisa Hajnal
javascript или jQuery? В jQuery использование каждой функции легко решило бы эту проблему.
function sumRows() {
var totalSum = 0;
$("tr").each(function(item, index) {
totalSum += item.value; // yor row values come here, item.value is just a placeholder
});
}
В javascript вы должны выбрать по тегу и сделать цикл for, накапливая сумму каждой строки. Возможно, Вам потребуется дополнительная фильтрация, если ваш дизайн содержит другие строки...
Что-то вроде:
function sumRows() {
var rows = document.getElementByTagName("tr");
var totalSum = 0;
for (i=0; i<rows.lenght-1;> //do your summing here
totalSum += 1; // yor row values come here
}
}
Решение, основанное на ваших HTML с помощью jQuery. ^= читает как начинается с того, что он выбирает определенную серию входных блоков независимо от идентификационной части.
function sumRows()
{
var particulars = $("input[id^=txtParticulars]");
var sumParticulars = 0;
if (particulars != null)
particulars.each(function(index) {
sumParticulars += this.val();
});
var quantities = $("input[id^=txtQty]");
var sumQuantities = 0;
if (quantities != null){
quantities.each(function(index) {
sumQuantities += this.val();
});
}
melvinn
у меня есть 4 текстовых поля в строке, то, что я хочу получить, - это общая сумма всех текстовых полей в последнем столбце.
Sinisa Hajnal
У вас уже есть функция, которая выполняет вычисление каждой строки in2 * in3. Выше приведена настройка...вам нужно заменить мои комментарии кодом, который вам нужно суммировать (в этом случае получите текстовое поле в строке, на которой в данный момент находится цикл, добавьте его к общей сумме (вам понадобится больше переменных суммы, если вам нужно суммировать четыре столбца или массив для хранения ваших сумм)
Это чисто клиентское решение - вы можете суммировать его на стороне сервера PHP и просто выплюнуть в HTML.
Denrich
привет, Синиса Хайнал, не могли бы вы дать нам пример кода? спасибо
Sinisa Hajnal
См. обновленное решение, последняя часть. Примите решение, если это поможет. Спасибо. Просто чтобы быть ясным, решение заключается в общей сумме по всем строкам. Итак, это будет резюме в нижней части сетки. Я знаю, что вы сказали, что вам нужна сумма по строке, но поскольку у вас уже есть функция, которая это делает, я предполагаю, что это ошибка в общении.
Так ли это? Ваша исходная функция суммирует Qty и UP в total (хотя я нахожу конструкцию total = something = something else странной :) )