jquery sum价格和物品总价

时间:2014-03-02 05:29:24

标签: c# jquery asp.net shopping-cart

看看:http://jsfiddle.net/MLsAu/14/ 在Asp.Net page_load中,程序计算总和价格和总价格和总和折扣。但是当用户更改其中一个下拉列表值(产品数量)时,我想用jquery计算。我知道一些代码是错误的,但我不知道哪里出错了。例如,当用户将第一个项目数量从2更改为1时,SumPrice是错误的!

我测试了这段代码,但不行。

               var sumPrice = 0;
               $('tr').each(function () {
                   sumPrice += parseInt(quantity * parseInt($(this).closest('tr').find('.ffour').text()));
               });
               $('#txtSumPrice').html(sumPrice);

1 个答案:

答案 0 :(得分:1)

您必须在每次更改事件中将总和,折扣和价格设置为0,否则它将采用最后一个可用值。请找到更正的小提琴here

$('.drop').on('change',function () {
    $('#txtSumDiscount').text('0');
    $('#txtSumPrice').text('0');
    $('#txtTotal').text('0');
    var tr = $(this).closest('tr');
    var price = $(tr).find('.ffour').html() - $(tr).find('.fthree').html();
    $(tr).find('.fone').html(price * $(this).val());

    var sum = 0, discount = 0, total =0;

    $(this).closest('#dvCart').find('tr td.fone').each(function(){
        var parent = $(this).parent();
        var q = parseFloat($(parent).find('select.drop').val());
        sum += parseFloat($(parent).find('td.ffour').text()) * q;
        discount += parseFloat($(parent).find('td.fthree').text()) * q;
    });

    $('#txtSumPrice').html(sum);
    $('#txtSumDiscount').html(discount);
    $('#txtTotal').html(sum - discount);
});