在我的表格中选中的复选框中发生了一些非常奇怪的事情。 我在表格中建立了一个发票计算器,你可以看到它here,我的目的是一旦我自动检查输入(Iva或Irpef),它们就不会计算在总金额中。 正如您在链接的示例中所看到的,如果您选中 Irpef输入复选框,它运行良好,不会计算总金额中的Irpef。问题是我的输入复选框IVA不会发生相同的情况,为什么?代码完全相同。
当我尝试让它们分开工作时,它很好,两者都运行良好,所以看起来它们不能一起工作,它可能是?发生了什么?我在这个问题上需要你的帮助。
感谢
此处与问题相关的代码:
function tally(selector) {
var total = 0;
$('p.editable_number').each(function() {
total += parseInt($(this).text()) || 0;
$('#subtotal').html(total);
if($("#iva").is(':checked')){
$('#subtotal').html((total).toFixed(2));
$('#total').html((total*0.00).toFixed(2));
$('#total1').html((total*0.15).toFixed(2));
$('#total2').html((total*0.85).toFixed(2));
}
else {
$('#subtotal').html((total).toFixed(2));
$('#total').html((total*0.21).toFixed(2));
$('#total1').html((total*0.15).toFixed(2));
$('#total2').html((total*1.06).toFixed(2));
}
if($("#irpef").is(':checked')){
$('#subtotal').html((total).toFixed(2));
$('#total').html((total*0.21).toFixed(2));
$('#total1').html((total*0.00).toFixed(2));
$('#total2').html((total*1.21).toFixed(2));
}
else {
$('#subtotal').html((total).toFixed(2))
$('#total').html((total*0.21).toFixed(2));
$('#total1').html((total*0.15).toFixed(2));
$('#total2').html((total*1.06).toFixed(2));
}
})
}
$('#irpef').change(function() {
tally('p#subtotal');
tally('p#total');
});
$('#iva').change(function() {
tally('p#subtotal');
tally('p#total');
});
答案 0 :(得分:1)
尝试这个,现在应该没问题。我认为你试图做其他事情,而不是做一次而不是一次(每个功能)。 refreshed
我添加了变量以跟踪总数/小计和增值税/ irpf。
each()
遍历所有p.editable_number元素,所以你执行相同的代码几次,每次覆盖以前的结果,你得到正确的东西,因为它是计数的结束循环。现在您只需获取一次值,然后计算相关的小计,增量,irpf和总值(根据是否检查增值税或irpf的条件)。