ajax异步请求增加整个表格,js/jQuery表格合计,如何优化异步请求频率过快

本文探讨如何通过优化JavaScript代码,减少因单价和数量变化导致的频繁异步请求,以提高资源利用效率。作者提供了一个针对项目中动态审批者计算和同步的解决方案,同时提出了避免无谓计算的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目需求要根据金额的大小动态列出审批者,当金额发生变动时去执行异步请求,现在的问题是无论是我改金额或是数量都会计算金额并执行异步请求,

bVbnUr5?w=1129&h=357

每一次的单价或者数量的变化(计算合计金额)都会执行异步请求,很消耗资源

bVbnUtk?w=361&h=339

有什么好的优化方案呢?

这是js代码:

// 监听单价和数量的变化

$(document).on('input propertychange', '.cg-items-table tbody input.listen', function (e) {

var tr = $(this).parent().parent(),

unitPrice = parseFloat(tr.find('td:nth-child(5) input').val()),

quantity = parseFloat(tr.find('td:nth-child(6) input').val()),

amount = ((unitPrice ? unitPrice : 0) * (quantity ? quantity : 1));

tr.find('td:nth-child(8) input').val(amount.toFixed(2));

amountCalculation();

});

// 计算合计金额并执行异步请求

function amountCalculation() {

var totalAmount = 0;

// 填充行合计

$('.cg-items-table tbody tr').each(function (index) {

totalAmount += parseFloat($(this).find('.amount').val());

});

// 总金额赋值

$('.cg-items-table tfoot tr td:last-child input').val(totalAmount.toFixed(2));

getReviewers({

totalAmount: totalAmount

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值