首页 > 解决方案 > 计算百分比和分割值

问题描述

我有一个带有多个选项的简单产品页面。每次选择一个选项时,这些值都会发布到 php.ini 文件中。有一个选项可以根据总金额计算额外费用

这就是问题所在,一旦选择了一个选项,所有计算都在后端完成,% 被添加并返回,效果很好。但我想在跨度标签中分别显示总 + %。但它适用于第一个值,其余的都不正确

所以假设用户点击Day 1哪个有 10% 的额外

在我编写的代码中,它仅正确计算单击的值,而其余的值不正确.. 每次单击它都会重新计算并显示不同的值。

不幸的是,我无法编辑 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+3+5 = 18 第 1 天的费用 20% 从 18 开始,即 3.6

总回报将是 21.6

每次单击选项时都会调用该函数

标签: javascriptjquery

解决方案


推荐阅读