javascript - 复选框值的乘法不起作用(jQuery/JS)
问题描述
我有分配给复选框的值,这些值在只读文本框中(运行 CPC 总计)中计数,这很有效。
然后,我有一个文本框供用户输入点击次数,并且 JS 函数将 Running CPC Total 值乘以该点击次数值得到总成本,该总成本显示在另一个只读文本框(总成本)中。这也有效。
我的问题是当我到达代理折扣复选框时。应该发生的是,如果选中 10% 复选框(例如),上述两个只读文本框的值都将乘以 0.9(以实现 10% 的折扣)。我的 JS 函数适用于 Running CPC Total,但我不确定 Total Cost 文本框发生了什么,因为它似乎没有打折。
任何人都可以帮助我了解发生了什么吗?我想我需要一个新的视角来看待这个问题,过去几个晚上我一直在为此绞尽脑汁。
JS 小提琴链接:https ://jsfiddle.net/ud153qot/#&togetherjs=cjayM362sc
主要的 JS 函数从 JS fiddle 的第 174 行开始,但也会包含在下面:
//code to update CPC Total when agency discount is applied
jQuery(function($) {
$('input[name="percentdiscount"]').on('change', function() {
applyDiscount();
});
$('input[type=checkbox]').click(function() {
let sum = 0;
$('input[type=checkbox]:checked').each(function() {
sum += parseFloat($(this).val());
});
$('#sum').val(sum.toFixed(2)).data('total', sum);
applyDiscount();
});
function applyDiscount() {
var pc = parseFloat($('input[name="percentdiscount"]:checked').val());
var noc = parseFloat($('input[id="numberofclickstextbox"]').val());
$('#sum').val(function() {
return ($(this).data('total') * pc).toFixed(2);
});
var CPCsum = parseFloat($('#sum').val());
$('#totalcost').val(function() {
return (noc * CPCsum * pc).toFixed(2);
});
}
});
解决方案
推荐阅读
- javascript - 为什么 CSS :hover 和 JS onclick 不起作用?
- python - 追加到多维列表索引追加到所有索引
- python - AWS Lambda 函数从 cloudwatch 启动两次,只成功运行一次,为什么没有记录错误
- scala - 我简单的 akka 演员测试失败了,我做错了什么?
- android - 摆脱嵌套的任务类型
- javascript - 使用 action 属性呈现的 Angular 表单
- racket - 检查和比较两个球拍合同?
- log4j2 - 如何在 Log4j2 中设置特定的记录器级别
- swift - 如何创建一个像 Apple Music 艺术家页面上的融合导航栏
- c++ - 编译 ctime 库时需要修复一个错误。clock_gettime 和 CLOCK_REALTIME 未在此范围内声明