You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现奇数数量对应总价(Qty/3)的向上取整显示?

解决方案

要实现「输入数量为奇数时,将数量除以3的结果向上取整后显示总价」的需求,你可以通过判断奇偶性结合向上取整函数修改现有代码,具体调整如下:

修改后的JavaScript代码

$(document).ready(function() {
  $('.variable-field').on("input", function() {
    var $row = $(this).closest('tr');
    // 将输入值转为数字,避免字符串运算问题
    var qty = Number($row.find('.quantity').val()) || 0;
    let total;
    // 判断数量是否为奇数(排除0的特殊情况)
    if (qty % 2 !== 0 && qty !== 0) {
      // 奇数时对计算结果向上取整
      total = Math.ceil(qty / 3);
    } else {
      // 偶数或0时正常计算
      total = qty / 3;
    }
    $row.find('.totalcostprice').val(total);
  });
});

对应HTML代码(无需改动,仅作展示)

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table table-striped table-bordered proposal-table" id="proposal-table">
  <thead>
    <tr>
      <th>Quantity</th>
      <th>Total</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><input type="number" class="form-control variable-field quantity" name="Quantity" /></td>
      <td><input type="number" class="form-control width-80 totalcostprice" name="TotalCostPrice" readonly /></td>
    </tr>
  </tbody>
</table>

关键修改说明

  1. 类型转换:把val()获取的字符串转为数字类型,避免出现非预期的运算结果
  2. 奇偶判断:用qty % 2 !== 0识别奇数,同时排除0的特殊情况(0是偶数,无需取整)
  3. 向上取整:使用Math.ceil()函数处理奇数的计算结果,比如输入5(奇数)时,5/3≈1.666会被取整为2;输入3(奇数)时,3/3=1取整后保持1

内容的提问来源于stack exchange,提问作者bastiag5

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 22:02:07