Javascript 计算每行的价格
我一直在计算每行的价格。如果我选择数量字段,它将为两行打印相同的价格 这是我的演示 先谢谢你 HtmlJavascript 计算每行的价格,javascript,jquery,Javascript,Jquery,我一直在计算每行的价格。如果我选择数量字段,它将为两行打印相同的价格 这是我的演示 先谢谢你 Html 产品 量 价格(元) 苹果(20美元) 0 1. 2. 3. 4. 5. 0 香蕉(15美元) 0 1. 2. 3. 4. 5. 0 全部的 1. 0 Javascript function totalamount() { var q = 0; var rows = document.getElementById('myTable').g
产品
量
价格(元)
苹果(20美元)
0
1.
2.
3.
4.
5.
0
香蕉(15美元)
0
1.
2.
3.
4.
5.
0
全部的
1.
0
Javascript
function totalamount() {
var q = 0;
var rows = document.getElementById('myTable').getElementsByTagName("tbody")[0].getElementsByTagName("tr").length;
for( var i = 0; i < rows; i++ ){
var z = $('.amount').html();
q +=z;
}
$('.total').html(z);
}
$(function () {
$('.body').delegate('.product_quantities','change',function(){
var tr = $(this).parent().parent();
var qty = tr.find('.product_quantities option:selected').attr('value');
var price = tr.data('price');
var total = (price * qty);
$('.amount').html(total);
totalamount()
});
});
函数totalamount(){
var q=0;
var rows=document.getElementById('myTable').getElementsByTagName(“tbody”)[0].getElementsByTagName(“tr”).length;
对于(变量i=0;i
不确定这是否是您想要的结果。但是我已经编写了代码来正确地计算两个金额列的总和
刚刚将totalamount
函数的底部更改为:
for( var i = 0; i < rows; i++ ){
var z = $('.amount:eq(' + i + ')').html();
if (!isNaN(z)) {
q +=Number(z);
}
}
$('.total').html(q);
到
因此,这两种计算方法都是可行的
改为:
tr.find('.amount').html(total);
循环遍历每个表数组,查找值并仅使用
$(v)将amount添加到该行中。查找('.amount')。文本(amt)代码>。我想这对你有帮助
function totalamount() {
var q = 0;
$('.body tr').each(function(index, v){
var cost = Number($(v).data('price'));
var qty = Number($(v).find('.product_quantities').val());
if(!isNaN(cost) && !isNaN(qty)){
var amt = Number(cost*qty);
$(v).find('.amount').text(amt);
q = q + amt
console.log(qty, cost, q);}
})
$('.total').text(q);
}
$(function () {
$('.body').delegate('.product_quantities','change',function(){
totalamount()
});
});
谢谢大家,各位。它工作得很好。非常感谢@可好!记住标记为已接受和/或向上投票,这对你更合适。我编辑了它们,效果很好。谢谢@mrEthol
tr.find('.amount').html(total);
$('.amount').html(total);
tr.find('.amount').html(total);
function totalamount() {
var q = 0;
$('.body tr').each(function(index, v){
var cost = Number($(v).data('price'));
var qty = Number($(v).find('.product_quantities').val());
if(!isNaN(cost) && !isNaN(qty)){
var amt = Number(cost*qty);
$(v).find('.amount').text(amt);
q = q + amt
console.log(qty, cost, q);}
})
$('.total').text(q);
}
$(function () {
$('.body').delegate('.product_quantities','change',function(){
totalamount()
});
});