HTML表格同行列下一个输入框无法聚焦问题求助
问题解决方法
你的代码问题在于全局查找表格里的第5个td,导致每次都会定位到第一行的对应输入框。要实现聚焦当前行的下一个输入框,需要先锁定当前输入框所在的行,再在该行内查找目标输入框。
修改后的代码如下:
$('#save-stage').on('keypress', function (event) { var keycode = event.keyCode || event.which; if (keycode === 13) { var columnIndex = $(event.target).closest('td').index(); var headerName = $('#save-stage th').eq(columnIndex).text(); if (headerName === "Qty") { // 先获取当前输入框所在的行 var currentRow = $(event.target).closest('tr'); // 在当前行内查找第5个td的输入框 currentRow.find("td:eq(5) input[type='text']").focus(); } return false; } });
关键修改点
- 新增
currentRow = $(event.target).closest('tr'):精准定位当前输入框所在的表格行 - 将全局查找
$("#save-stage").find(...)改为currentRow.find(...):只在当前行内搜索目标输入框
这样按下回车时,光标就会聚焦到当前行第5列的输入框,而不是跳转到第一行了。
内容的提问来源于stack exchange,提问作者Rauf Abid
相关产品推荐
相关产品推荐

