我的代码计算输入数字的8%,例如在下面的代码中。如果您在第一个框中输入“1”并在第二个框中输入“100”,则总退款(包括8%)= 108
JavaScript代码:
$(document).ready(function() {
var sum = 0;
function calcSum(prevVal) {
var val1 = $('#val1').val();
var val2 = $('#val2').val();
var val3 = $('#val3').val();
var val4 = $('#val4').val();
this.sum = parseFloat(val1) * parseFloat(val2) + parseFloat(val3) * parseFloat(val4);
return this.sum;
}
var subAmt = $("#sub"),
taxAmt = $("#tax"),
totAmt = $("#total");
$(".val").each(function() {
var prevVal = this.value / 1,
self = this;
$(this).keyup(function() {
subAmt.val(calcSum.call(self, prevVal));
totAmt.val(this.sum + this.sum * parseFloat(taxAmt.val() / 100));
prevVal = self.value;
});
});
});
我想要做的是计算底部框中第二个8%的20%。所以在这个例子中答案应该是1.60。
然后我想在总框106.40(108 - 1.60)中显示。
答案 0 :(得分:0)
为什么不将税收(8%)提取到单独的变量?像这样的东西?
var taxDelta = this.sum*parseFloat(taxAmt.val()/100);
然后你可以自由地将它添加到总数中:
totAmt.val(this.sum + taxDelta);
如果需要,计算20%:
var addTax = taxDelta * taxAVal;