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

动态新增表格行时kg输入框Decimal格式化函数仅首行生效问题

解决动态表格行中.pesoformat输入框的格式化函数失效问题

问题核心:页面加载时直接给已存在的.pesoformat输入框绑定了alterNumber事件,但动态新增的表格行里的同类型输入框没被绑定;若盲目用全局事件监听又会影响其他输入框。

直接用事件委托就能精准解决这个问题,具体代码修改如下:

替换原来的直接绑定代码(比如$('.pesoformat').on('input', alterNumber);),改成:

// 绑定到文档根节点,仅监听.pesoformat元素的input事件
$(document).on('input', '.pesoformat', alterNumber);

要是想更高效,也可以绑定到表格的父容器(比如表格id为tableId):

$('#tableId').on('input', '.pesoformat', alterNumber);

原理说明:
事件委托利用DOM事件冒泡机制,让父元素监听子元素的事件。当动态新增的.pesoformat输入框触发input事件时,事件会冒泡到绑定的父元素,父元素会检查触发事件的目标元素是否匹配.pesoformat选择器,匹配才执行alterNumber函数——这样既覆盖了所有动态生成的目标输入框,又不会影响其他非.pesoformat的输入框。

修改后测试:新增行的kg输入框输入数值时,会自动格式化为6位小数,其他输入框不受该函数影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 05:53:21