Умножение значений флажка не работает (jQuery / JS) - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть значения, назначенные для флажков, которые отображаются в текстовом поле только для чтения (выполняется CP C Всего), и это работает.

Затем у меня есть текстовое поле для ввода пользователем количества щелчков и функция JS умножает значение «Итоговое значение CP C» на это значение количества кликов, чтобы получить общую стоимость, которая отображается в другом доступном только для чтения текстовом поле («Общая стоимость»). Это также работает.

Моя проблема, когда я добираюсь до флажков скидки агентства. Что должно произойти, это то, что, если установлен флажок 10% (например), оба из вышеупомянутых текстовых полей только для чтения будут иметь значения, умноженные на 0,9 (чтобы получить скидку 10%). Моя функция JS работает для бегущей суммы CP C, но я не уверен, что происходит с текстовым полем Общая стоимость, так как оно, похоже, не снимает скидку.

Кто-нибудь может мне помочь, что происходит? Я думаю, мне нужна свободная sh перспектива этого, последние несколько ночей я ломал голову над этим.

JS Ссылка на скрипку: https://jsfiddle.net/ud153qot/# & Togetherjs = cjayM362s c

Основная функция JS запускается в строке 174 JS fiddle, но будет также включать ее ниже:

//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);
    });
  }
});   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...