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

jQuery表单清空sold输入后如何恢复quantity的原始值

代码修改实现方案

问题根源

原有代码未存储quantity输入框的初始值,且每次计算逻辑都基于quantity的当前值做减法,空输入框转Number类型会得到0,因此清空sold输入时无法恢复到初始的30。同时原有计算逻辑存在缺陷:多次修改sold值时,会在上一次扣减后的剩余量基础上再次扣减,不符合库存剩余=初始库存-已售数量的正常逻辑。

调整后代码

仅需要修改JS部分即可,HTML代码保持原有不变:

$(document).ready(function() {
  // 页面加载时存储quantity的初始值
  const initQuantity = Number($("#quantity").val());

  $("#sold").keyup(function() {
    const soldInput = $("#sold").val().trim();
    // 当sold输入为空,或输入内容不是有效数字时,重置quantity为初始值
    if (!soldInput || isNaN(Number(soldInput))) {
      $("#quantity").val(initQuantity);
      return;
    }
    // 正常计算剩余量:初始值减去已售数值
    const remain = initQuantity - Number(soldInput);
    $("#quantity").val(remain);
  });
});

可选优化

如果不需要允许用户手动修改quantity输入框的数值,可以给input加上readonly属性,避免手动修改打乱计算逻辑:

<input type="text" id="quantity" value="30" readonly>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:36:02