jQuery实现字段当前值与新值累加求和的方法
嘿,这个累加需求其实挺常见的,我给你两种实用的实现方式,不管你用原生JavaScript还是jQuery都能轻松搞定~
原生JavaScript实现方案
这是最通用的方案,不用依赖任何库,直接写就行:
- 先拿到你的隐藏字段和要点击的元素
- 给点击元素绑定点击事件
- 每次点击时,把隐藏字段的当前值转成数字,和新值累加后再赋值回去
完整代码示例:
<!-- 你的隐藏字段 --> <input id="A" type="hidden" value="0" /> <!-- 假设你点击的是这个按钮,实际可以换成任何元素比如div、a标签等 --> <button id="triggerBtn">点击累加</button> <script> // 获取页面元素 const hiddenInput = document.getElementById('A'); const triggerElement = document.getElementById('triggerBtn'); // 模拟每次点击获取新值的逻辑,你可以把这里替换成实际的获取方式(比如接口返回、用户输入等) function getNewValue() { return 5; // 示例新值,按需修改 } // 绑定点击事件 triggerElement.addEventListener('click', () => { // 一定要转成数字!不然会变成字符串拼接(比如"0"+5得到"05") const currentVal = Number(hiddenInput.value); const newVal = getNewValue(); // 累加后赋值回隐藏字段 hiddenInput.value = currentVal + newVal; // 可选:打印日志看结果,方便调试 console.log('当前累加后的值:', hiddenInput.value); }); </script>
jQuery实现方案(如果项目已经用了jQuery)
如果你的项目依赖jQuery,可以用更简洁的写法:
<input id="A" type="hidden" value="0" /> <button id="triggerBtn">点击累加</button> <!-- 先引入jQuery,如果你已经引入过就不用写这行 --> <script src="jquery.min.js"></script> <script> function getNewValue() { return 5; // 替换成你的实际新值逻辑 } $('#triggerBtn').on('click', function() { // 转数字+累加+赋值一步到位 const currentVal = Number($('#A').val()); $('#A').val(currentVal + getNewValue()); console.log('当前累加后的值:', $('#A').val()); }); </script>
关键注意事项
- 必须把隐藏字段的
value转换成数字类型!因为输入框的value默认是字符串,直接相加会变成字符串拼接(比如初始值"0"加5会得到"05",而不是5),所以要用Number()、parseInt()(整数)或parseFloat()(小数)来转换。 - 如果你的新值是从接口获取的异步数据,记得把累加逻辑放在异步回调里,确保拿到新值后再计算。
内容的提问来源于stack exchange,提问作者X9DESIGN
相关产品推荐
相关产品推荐

