Вы заметите, что если вы хотите достичь того, что ищете, округлив сумму налога , поле tax также обновится из-за события 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
, который будет запускать событие только в том случае, если пользователи будут фокусироваться на или вне полей ввода.