Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 复选框值的乘法不起作用(jQuery/JS)_Javascript_Jquery_Html - Fatal编程技术网

Javascript 复选框值的乘法不起作用(jQuery/JS)

Javascript 复选框值的乘法不起作用(jQuery/JS),javascript,jquery,html,Javascript,Jquery,Html,我将值分配给复选框,这些复选框汇总在一个只读文本框中(运行CPC总计),这是有效的 然后,我有一个文本框供用户输入点击次数,JS函数将正在运行的CPC总值乘以这个点击次数值,得到一个总成本,它显示在另一个只读文本框中(总成本)。这也行得通 我的问题是当我进入代理折扣复选框时。如果选中10%复选框(例如),上述两个只读文本框的值都将乘以0.9(以实现10%的折扣)。我的JS函数适用于正在运行的CPC Total,但我不确定Total Cost文本框发生了什么,因为它似乎没有打折 有人能告诉我发生了

我将值分配给复选框,这些复选框汇总在一个只读文本框中(运行CPC总计),这是有效的

然后,我有一个文本框供用户输入点击次数,JS函数将正在运行的CPC总值乘以这个点击次数值,得到一个总成本,它显示在另一个只读文本框中(总成本)。这也行得通

我的问题是当我进入代理折扣复选框时。如果选中10%复选框(例如),上述两个只读文本框的值都将乘以0.9(以实现10%的折扣)。我的JS函数适用于正在运行的CPC Total,但我不确定Total Cost文本框发生了什么,因为它似乎没有打折

有人能告诉我发生了什么事吗?我想我需要对这件事有一个新的看法,过去几天晚上我一直在为此绞尽脑汁

JS Fiddle链接:

主要JS函数从JS FIDLE的第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);
    });
  }
});   

它似乎起作用了。只需更改您创建的“点击次数”字段。到底什么是不起作用的?是的,它起作用了,但是当你在代理折扣之间切换时,计算是关闭的——它们不是10%和15%?如果您手动进行计算(点击次数*运行CPC总数*0.9或0.85),它们是否不正确?