Функция для умножения значений флажка / текстового поля не работает должным образом - PullRequest
0 голосов
/ 17 февраля 2020

Мой код работает (применяя скидку 10 или 15% как к текстовым полям с действующим CP C, так и к общей стоимости в зависимости от того, какой флажок установлен) в текстовом поле с действующим CP C, но работает только в одном направлении с общим Стоимость текстового поля. Почему это происходит?

Когда вы устанавливаете флажок, он добавляет его значение к общей CP C, а затем, когда выбирается скидка агентства, его значение следует умножить на 0,9 или 0,85.

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).data('total', sum);
    applyDiscount();
  });

  function applyDiscount() {
    var pc = parseFloat($('input[name="percentdiscount"]:checked').val());
    var cpc = parseFloat($('input[id="sum"]').val());
    var noc = parseFloat($('input[id="numberofclickstextbox"]').val());
    $('#sum').val(function() {
      return ($(this).data('total') * pc);
    });
    $('#totalcost').val(function() {
      return ((noc * cpc) * pc).toFixed(2);
    });
  }
});

function calculatetier() {
  var myBox5 = document.getElementById('numberofclickstextbox').value;
  var myBox6 = document.getElementById('sum').value;
  var result = document.getElementById('totalcost');
  var myResult = myBox5 * myBox6;
  result.value = myResult.toFixed(2);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="runningtotal">
  Running CPC Total (in £): <input id="sum" name="totalCPC" type="text" readonly="true" value="0.00" data-total="0" /> Total Cost (in £): <input id="totalcost" type="text" readonly="true" value="0 (until clicks specified)" data-total="0" />
</div>

<div class="campaignstrategy flex-child">
  <h1>1. Campaign Strategy</h1>
  <input type="checkbox" name="awareness" id="awareness_checkbox" value="0.01">Awareness<br>
  <input type="checkbox" name="directresponse" id="directresponse_checkbox" value="0.01">Direct Response<br>
</div>

<div class="selecttier">
  <h1>5. Number of Clicks</h1>
  <input id="numberofclickstextbox" name="numberofclicks" type="text" value="0" data-total="0" oninput="calculatetier()" />
</div>

<div class="agencydiscount flex-child">
  <h1>6. Agency Discount</h1>
  <label>
        <input type="radio" name="percentdiscount" id="" value="1" checked>
        None
      </label>
  <label>
        <input type="radio" name="percentdiscount" id="10percent" value="0.9">
        10%
      </label>
  <label>
        <input type="radio" name="percentdiscount" id="15percent" value="0.85">
        15%
      </label>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...