当用户输入通过keyUp事件功能自动计算的%金额时,我有三个字段金额,税额和税金(%)。当用户使用税值对金额进行四舍五入并通过按TAB键再次提交时出现问题。它检测Keyup事件并将值更改为初始值。指导我解决这个问题。
您会注意到,如果您希望通过累计税额来实现您所寻求的目标,税收字段也将更新,因为您应用的onkeyup
事件意味着这已成为类似链接事件。我已经在代码中应用了一些更改,以便在用户打算手动更改税额后触发税收字段的值,如下所示:
calculateTotal = function(){
var total = 0.00;
var amount = $("#amount").val();
var amount_with_tax = $("#amount_with_tax").val();
amount = parseFloat(amount);
amount_with_tax = parseFloat(amount_with_tax);
total = amount + amount_with_tax;
var tax = (100-(amount/total)*100).toFixed(2);
console.log(total);
$('#tax').val(tax);
$('#total').text(total.toFixed(2));
}
还请注意,在这种情况下,onkeyup
事件不是一个好的事件监听器,因为函数都是以字段值依赖的方式链接。所以我将事件监听器更改为onchange
,只有当用户关注或输出输入字段时才会触发事件。