在jquery html中计算总成本时遇到问题
尝试制作一个简单的计算表格;行总计、数量总计、运费*数量总计,然后是总计,在jquery中找到了一些代码来完成第一部分,但不完全确定如何完成其余部分 下面是我到目前为止所拥有的 Thx 马特在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美元的运费) $
这是一个计算总定价的示例,原始代码取自
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);
}