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

如何实现新增表格行中指定可编辑TD仅允许输入数字?

问题:表格新增行时指定单元格仅允许数字输入,其他单元格正常输入且不影响日期选择器

我现在卡在一个简单功能上了——我有一个包含20多列的表格,部分列可编辑、部分不可编辑。需求很明确:用户新增一行时,该行里的部分单元格只能输入数字。

我试过两种方案:

  • 限制TD仅输入数字
  • 使用isNumeric()做数字输入验证

但这俩都不管用,只有把函数绑定到整个表格的时候才生效,可表格里还有需要接收字符串的单元格,这种绑定整个表格的方式根本行不通。

我用的代码如下:

JavaScript 代码

$("#my_id").keydown(function(e) { if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 || ((e.keyCode == 65 || e.keyCode == 86 || e.keyCode == 67) && (e.ctrlKey === true || e.metaKey === true)) || (e.keyCode >= 35 && e.keyCode <= 40)) { return; } if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });

HTML 代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="my_id" border="1" width="100px" height="50px">
 <thead></thead>
 <tbody>
 <tr>
 <th>1</th>
 <td class="allow_only_numbers" contenteditable="true" id="idid"></td>
 </tr>
 </tbody>
</table>

这段代码在Stack Overflow上没法运行(因为没引入对应脚本),但在我自己的项目里引入后是能运行的,不过会导致日期选择器异常,没法正常使用。我感觉这应该是个小问题,但就是找不到解决办法。


更新:问题已解决!

原来只需要在新增行的函数内部启用「仅允许数字输入」的功能就行,现在功能完全正常了。感谢大家的帮助!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:47:48