我写了以下脚本。第一部分将每个项目的数量和成本相乘,并将其作为" .price"中的值添加。输入
第二部分我试图动态更新#total值,因为每个.price都被添加。但我不能让这部分工作。
var total;
$('.invoice').on('focus','.current' , function(){
// Calculate Price
$('.qty').keyup(function(){
var qty = $( document.activeElement ).val();
var value = $( document.activeElement ).siblings(".cost").val();
$( document.activeElement ).siblings(".price").val(qty * value);
});
// Calculate Total
$('.price').change(function(){
$('.price').each(function(){
price = $('.price').val();
total = parseInt(total) || 0 + parseInt(price) || 0;
$('#total').val(total);
});
});
});
答案 0 :(得分:1)
您的计算总计部分应如下所示
$('.price').change(function() {
var total = 0;
$('.price').each(function() {
price = $('.price').val();
total += parseInt(total) || 0 + parseInt(price) || 0;
});
$('#total').val(total);
});
在每个循环外声明变量total
并对所有值求和并在每个循环后追加#total
(不在每个循环中)。