Javascript 复选框值的乘法不起作用(jQuery/JS)
我将值分配给复选框,这些复选框汇总在一个只读文本框中(运行CPC总计),这是有效的 然后,我有一个文本框供用户输入点击次数,JS函数将正在运行的CPC总值乘以这个点击次数值,得到一个总成本,它显示在另一个只读文本框中(总成本)。这也行得通 我的问题是当我进入代理折扣复选框时。如果选中10%复选框(例如),上述两个只读文本框的值都将乘以0.9(以实现10%的折扣)。我的JS函数适用于正在运行的CPC Total,但我不确定Total Cost文本框发生了什么,因为它似乎没有打折 有人能告诉我发生了什么事吗?我想我需要对这件事有一个新的看法,过去几天晚上我一直在为此绞尽脑汁 JS Fiddle链接: 主要JS函数从JS FIDLE的第174行开始,但也将包括以下内容:Javascript 复选框值的乘法不起作用(jQuery/JS),javascript,jquery,html,Javascript,Jquery,Html,我将值分配给复选框,这些复选框汇总在一个只读文本框中(运行CPC总计),这是有效的 然后,我有一个文本框供用户输入点击次数,JS函数将正在运行的CPC总值乘以这个点击次数值,得到一个总成本,它显示在另一个只读文本框中(总成本)。这也行得通 我的问题是当我进入代理折扣复选框时。如果选中10%复选框(例如),上述两个只读文本框的值都将乘以0.9(以实现10%的折扣)。我的JS函数适用于正在运行的CPC Total,但我不确定Total Cost文本框发生了什么,因为它似乎没有打折 有人能告诉我发生了
//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);
});
}
});
它似乎起作用了。只需更改您创建的“点击次数”字段。到底什么是不起作用的?是的,它起作用了,但是当你在代理折扣之间切换时,计算是关闭的——它们不是10%和15%?如果您手动进行计算(点击次数*运行CPC总数*0.9或0.85),它们是否不正确?