
本文介绍如何使用 javascript(配合 jquery)在动态表格中智能处理重复商品:当用户选择已存在的商品时,不新增行,而是将对应行的 quantity 单元格值加 1,从而实现「去重+累加」的 pos 系统核心逻辑。
本文介绍如何使用 javascript(配合 jquery)在动态表格中智能处理重复商品:当用户选择已存在的商品时,不新增行,而是将对应行的 quantity 单元格值加 1,从而实现「去重+累加」的 pos 系统核心逻辑。
在开发收银系统或购物车功能时,频繁扫描同一商品(如两次扫描“Result 1”)若直接插入新行,会导致数据冗余、统计困难且界面混乱。理想行为应是:首次添加 → 新建一行,数量为 1;再次添加相同商品 → 定位已有行,将其 quantity 输入框的值递增 1。
以下是一个完整、可直接运行的解决方案,基于 jQuery 实现,无需后端依赖:
✅ 核心逻辑说明
- 每次点击「Add stock transfer」按钮,动态追加一个含搜索框和数量输入框的新行(初始 quantity 设为
1); - 用户点击搜索结果(如
)后,脚本遍历Result 1
中所有已有行;- 若发现某行的
stock输入框值与当前选中项完全匹配,则解析其qty值,执行parseInt(currentQty) + 1并更新;- 若未匹配,则将当前选中值填入新行,并保留
qty=1;- 关键优化:匹配成功后,立即移除刚创建的空行(避免冗余 DOM),确保表格始终只含唯一商品项。
? 完整可运行代码示例
===
- 若发现某行的










