Умножьте значения ячеек каждой строки динамически - PullRequest
0 голосов
/ 01 мая 2018

У меня есть этот скрипт jQuery для добавления строки таблицы на основе каждого td , и он прекрасно работает.

$(document).ready(function(){
    $(".saisie").each(function() {
        $(this).keyup(function(){           calculateTotal($(this).parent().index());
        });
    });
});

function calculateTotal(index)
{
   var total = 0;
    $('table tr td').filter(function(){
        if($(this).index()==index)
        {
        total += parseFloat($(this).find('.saisie').val())||0;
        }
    }
    );
    $('table tr td.totalCol:eq('+index+')').html(total);
   calculateSum();
    calculateRowSum();
}
function calculateRowSum()
{
    $('table tr:has(td):not(:last)').each(function(){
       var sum = 0; $(this).find('td').each(function(){
          sum += parseFloat($(this).find('.saisie').val()) || 0;
        });
           $(this).find('td:last').html(sum);
    });
}
function calculateSum() {
    var sum = 0;
    $("td.totalCol").each(function() {
            sum += parseFloat($(this).html())||0;
    });
    $("#sum").html(sum.toFixed(2));
}

для лучшего обзора см. Это jsfiddle

Теперь проблема, с которой я столкнулся, заключается в том, что я могу изменить функцию суммирования строк на функцию умножения . Я имею в виду, что количественная ячейка каждой строки должна умножаться на ценовую ячейку этой строки вместо функции сложения .

Например, у меня есть первая строка, которая ПК на базе Windows , и я хочу умножить цену на количество, и результат должен отображаться в передней ячейке каждой строки, и эта функция должна повторяться до остальные строки.

Для лучшего понимания используйте jsfiddle .

1 Ответ

0 голосов
/ 01 мая 2018

Вы можете изменить метод CalculateRowSum , например, для умножения строк:

function calculateRowMultiply()
{
    $('table tr:has(td):not(:last)').each(function(){
       var m = 1; $(this).find('td').each(function(){
          m *= parseFloat($(this).find('.saisie').val()) || 1;
        });
           $(this).find('td:last').html(m);
    });
}

jsfiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...