javascript - Jquery onkeyup 或 onchange 函数取决于 HTML 表单中的值
问题描述
我有三个字段amount,amount with tax和tax (%),当用户输入% amount 时,它会通过 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
event 不是一个好的事件侦听器,因为这些函数都以字段值依赖的方式链接。因此,我将事件侦听器更改为仅当用户关注输入字段或关注输入字段时才会触发事件。onchange
推荐阅读
- ios - 关于重新打开应用程序时API流程的问题
- c - 为什么 printf 打印我分配给 int 空间的空格数?
- typescript - 我们应该在转换通用 json 响应时使用“any”吗
- ios - Apple 硅 DTK && Xcode12.2 rc && arm64 ios 模拟器 && 为 ios sim 构建,但链接 ios
- javascript - 为什么在 div 上有多次点击,使用 jQuery 3.5.1
- python - 如何使用beautifulSoup从该站点抓取文本
- node.js - 用于 Node/NPM 的预定义、专用系统环境变量
- c++builder - 将焦点设置到 TPrintDialog 中的 OK 按钮
- php - 如何从 php 中的 echo 内的按钮调用函数?
- sql - 寻找不到 10 年的员工