javascript - 如何将光标移动到表格下一列中的下一个输入?
问题描述
我有我的表格,当用户单击添加行时,我在单元格中动态放置一个输入,并且输入是动态完成的,如何在用户单击添加项后立即移动到该输入?
<script type="text/javascript">
function addsLine(myTable) {
var table = document.getElementById(myTable);
var numLine = table.rows.length;
var line = table.insertRow(numLine);
var cel1 = line.insertCell(0);
var cel2 = line.insertCell(1);
var inputDinamic = 'item' + numLine;
var cel = "<input style='border: 0' name="
var cel = cel + "'" + inputDinamic + "'";
var cel = cel + " value='1' type='number' id='" + "'" + inputDinamic + "'>";
cel1.innerHTML = numLine;
cel2.innerHTML = cel;
}
</script>
<table id="myTable">
<thead>
<tr>
<td>Selection</td>
<td>Value</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
<button class="btn btn-success" onclick="addsLine('myTable')">Add</button>
解决方案
有几种方法可以引用该字段,但无论您如何称呼该字段,您都会想要focus()
它。
function addLine(myTable) {
var table = document.getElementById(myTable);
var numLine = table.rows.length;
var line = table.insertRow(numLine);
var cel1 = line.insertCell(0);
var cel2 = line.insertCell(1);
var inputDinamic = 'item' + numLine;
var cel = "<input style='border: 0' name="
var cel = cel + "'" + inputDinamic + "'";
var cel = cel + " value='1' type='number' id='" + "'" + inputDinamic + "'>";
cel1.innerHTML = numLine;
cel2.innerHTML = cel;
cel2.querySelector("input[type='number']").focus();
}
<table id="myTable">
<thead>
<tr>
<td>Selection</td>
<td>Value</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
<button class="btn btn-success" onclick="addLine('myTable')">Adicionar</button>
推荐阅读
- kotlin - 每次创建新的服务器实例时生成一个随机端口号
- java - Android Studio - 无法使用可执行文件确定 Java 版本
- java - java 文件在 cmd 中工作,但使用 .jar 扩展名重命名时返回错误
- assembly - 将 armv7m 指令翻译成 LLVM IR
- spring - 在 Spring Boot 中如何以及在何处保存“系统范围的数据”?
- javascript - 更改按钮 ID、内容和类的功能不起作用
- javascript - 如何使用 Debounce 去抖动句柄提交
- c# - 使用“Simple TCP”向服务器发送 TCP 数据包时,数据包一起参与
- c# - Camera.main.WorldToScreenPoint 是什么意思?
- python - Python打印两个def而不是一个,我希望它回答是或否