用于计算金额总和的JS脚本计算错误

时间:2014-12-16 12:57:43

标签: javascript jquery html

我准备了this jsfiddle,它说明了我的脚本如何计算每个所选选项属性价格总和的两倍。请帮我解决这个问题。

optionsamount错了,我的意思是计算两次..为什么会这样?感谢

function update_amounts(){
    var sum = 0.0;
    var optionsamount = 0.0;

    $('#basketorder > tbody  > .product').each(function() {

        $('.selectedoptionselect option:selected').each(function(){
            optprice = $(this).attr('price');
            optionsamount+= parseFloat(optprice);    
        })

        var qty = $(this).find('.qty option:selected').val();
        var price = $(this).find('.price').val();
        var amount = (qty*price);
        sum+= (amount + optionsamount);

        $(this).find('.amount').text(''+ amount.toFixed(2));
    });

    $('.total').text(sum);
}

2 个答案:

答案 0 :(得分:3)

试试这个,

function update_amounts(){
var sum = 0.0;

$('#basketorder > tbody  > .product').each(function() {

    var optionsamount = 0.0;


    $(this).find('.selectedoptionselect option:selected').each(function(){
        optprice = $(this).attr('price');
        optionsamount+= parseFloat(optprice);    
    })

    var qty = $(this).find('.qty option:selected').val();
    var price = $(this).find('.price').val();
    var amount = (qty*price);
    sum+= (amount + optionsamount);

    $(this).find('.amount').text(''+ amount.toFixed(2));
});

$('.total').text(sum);

答案 1 :(得分:0)

试试这个

function update_amounts(){
var sum = 0.0;

$('#basketorder > tbody  > .product').each(function() {

    var optionsamount = 0.0;


    $('.selectedoptionselect option:selected').each(function(){
        optprice = $(this).attr('price');
        optionsamount+= parseFloat(optprice);    
    })

    var qty = $(this).find('.qty option:selected').val();
    var price = $(this).find('.price').val();
    var amount = (qty*price);
    sum+= (amount + optionsamount);

    $(this).find('.amount').text(''+ amount.toFixed(2));
});

$('.total').text(sum);

}