рассчитать процентное и разделенное значение - PullRequest
0 голосов
/ 27 мая 2020

У меня простая страница продукта с несколькими вариантами. Каждый раз, когда выбирается опция, значения отправляются в php. Существует одна опция, которая рассчитывает дополнительную плату на основе общей

. Это проблема. После выбора опции все вычисления выполняются в бэкэнде, добавляется и возвращается%, что отлично работает. но я хотел бы показать общий +% отдельно в теге span. но он работает для первого значения, а остальные неверны

, поэтому допустим, что пользователь нажимает Day 1, который имеет 10% дополнительных

  • Расчет выполнен, и 10 % добавляется к итоговой сумме в файле php.
  • Я делаю дополнительный расчет на основе полученной суммы, вычитаю% из общей суммы и отображаю ее
  • Если общая сумма равна 198 (включая 10%, добавленные при нажатии), он должен показать День 1 180,00 + 18,00 (10%) День 2 180,00 + 36,00 (20%) День 3 180,00 + 54,00

В коде, который я написал, он правильно вычисляет только значение щелчка, а остальное неверно .. также каждый раз, когда я щелкаю, он пересчитывает и показывает другое значение.

К сожалению, я не могу редактировать файл php, поэтому мне приходится работать с суммой, которая возвращается в JavaScript. Таким образом, каждый раз, когда пользователь нажимает на опцию, он вычисляет общую сумму

Я не уверен, что это можно сделать, но любая помощь будет оценена.

$.ajax({
  url: 'calculation.php',
  type: 'POST',
  data: option_data,
  success: function(total) {
    $('.total').each((index, item) => {
      const dateRef = +($(item).attr("data-ref")); //percentage                              
      var grabtot = thistotal.split(" ")[2].replace(',', '.');
      var theid = $(item).attr("id");
      var amount = (dateRef / 100) * grabtot;
      var without_percentage = parseFloat(grabtot) - parseFloat(amount);
      $('#' + theid).html("+ € " + amount.toFixed(2).replace(".", ","));
    })
  }
});
<ul>
  <li class="radio">
    <label class="img2">
      <input type="radio" class="radio" style="display:none;" name="option[979]" value="2497">
      <span>
        <h3>Day 1</h3>
        <p>
          <span class="total" id="del-1" data-ref="10.00"></span>
        </p>
      </span>            
    </label>
  </li>
  <li class="radio">
    <label class="img2">
      <input type="radio" class="radio" style="display:none;" name="option[980]" value="2597">
      <span>
        <h3>Day 5</h3>
        <p> 
          <span class="total" id="del-2" data-ref="20.00"></span>
        </p>
      </span>            
    </label>
  </li>
  <li class="radio">
    <label class="img2">
      <input type="radio" class="radio" style="display:none;" name="option[959]" value="2407">
      <span>
        <h3>Day 7</h3>
        <p> 
          <span class="total" id="del-3" data-ref="30.00"></span>
        </p>
      </span>            
    </label>
  </li>
</ul>

РЕДАКТИРОВАТЬ

какой будет расчет. php возврат?

Это собственно система бронирования. В бланке будет указана стоимость товара, упаковка, доставка и возврат дней

  • , поэтому при стоимости книги 10,00
  • упаковка 3,00
  • доставка 5,00
  • дней возврата, процентное значение которого выбрано. Таким образом, если выбран 1 день, сумма будет составлять 20% от суммы

например: 10 + 3 + 5 = 18 плата за 1 день 20% от 18, что составляет 3,6

всего будет возвращено 21,6

функция будет вызываться каждый раз, когда будет нажата опция

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...