在jquery html中计算总成本时遇到问题

在jquery html中计算总成本时遇到问题,jquery,html,Jquery,Html,尝试制作一个简单的计算表格;行总计、数量总计、运费*数量总计,然后是总计,在jquery中找到了一些代码来完成第一部分,但不完全确定如何完成其余部分 下面是我到目前为止所拥有的 Thx 马特 这是一个计算总定价的示例,原始代码取自 V3:http://stackoverflow.com/questions/9900369/jquery-calculate-sum-of-fields-dynamic -需要计算总数量,然后将总运费乘以总数量(即数量为5,因此5 x 10=价值50美元的运费) $

尝试制作一个简单的计算表格;行总计、数量总计、运费*数量总计,然后是总计,在jquery中找到了一些代码来完成第一部分,但不完全确定如何完成其余部分

下面是我到目前为止所拥有的

Thx 马特


这是一个计算总定价的示例,原始代码取自
V3:http://stackoverflow.com/questions/9900369/jquery-calculate-sum-of-fields-dynamic
-需要计算总数量,然后将总运费乘以总数量(即数量为5,因此5 x 10=价值50美元的运费)
$(函数(){
函数doCalc(){
var合计=0;
$('tr')。每个(函数(){
$(this.find('span.amount').html($('input:eq(0)”,this.val()*$('select',this.val());
});
$('.amount')。每个(函数(){
total+=parseInt($(this).text(),10);
});
$('div.total_amount').html(总计);
}
$(“按钮”)。单击(doCalc);
});
项目
单价
量
全部的
项目1
$10
0
1.
2.
3.
4.
5.
$ 
项目2
$20
0
1.
2.
3.
4.
5.
$ 
总数量

总运费@15美元x数量

总成本$

走!
在这里查看,

我修改了你的JS代码

$(function(){
    function doCalc() {
        var total = 0;
        var qty = 0;
        $('tr').each(function() {
            $(this).find('span.amount').html($('input:eq(0)', this).val() * $('select', this).val());
        var sel_val = parseInt($('select', this).val(), 10);
        if(!sel_val) sel_val = 0;
        qty = qty + sel_val;
        });
        $('.amount').each(function() {
            total += parseInt($(this).text(),10);
        });
        $('.total_qty').text(qty);    //Total QTY calculation
        $('.total_freight').text(15*qty);   //Total Freight @$15 x QTY calculation
        $('div.total_amount').html(total);  //Total Cost

    }
    $('button').click(doCalc);
});
你可以试试这个


具有固定标记、逻辑\p表示分离和自动更新的脚本版本
$(function(){
    function doCalc() {
        var total = 0;
        var qty = 0;
        $('tr').each(function() {
            $(this).find('span.amount').html($('input:eq(0)', this).val() * $('select', this).val());
        var sel_val = parseInt($('select', this).val(), 10);
        if(!sel_val) sel_val = 0;
        qty = qty + sel_val;
        });
        $('.amount').each(function() {
            total += parseInt($(this).text(),10);
        });
        $('.total_qty').text(qty);    //Total QTY calculation
        $('.total_freight').text(15*qty);   //Total Freight @$15 x QTY calculation
        $('div.total_amount').html(total);  //Total Cost

    }
    $('button').click(doCalc);
});
$(function(){
    $('button').click(doCalc);
});​

function doCalc() {
    var total = 0;
    $('tbody tr').each(function() {
        var txt=$('input:eq(0)', this).val(),
        sel=$('select', this).val();
        if(typeof txt !='undefined')
        {
            $(this).find('span.amount').html(txt*sel);
            total += parseInt(txt*sel);
        }
    });
    $('div.total_amount').html(total);
}