我想通过按将下一个输入集中在表字段中enter
。该表如下所示:
<table>
<tbody>
<tr>
<td>Title 1</td>
<td><input type="number"></td>
<td>Unit</td>
</tr>
<tr>
<td>Title 2</td>
<td><input type="number"></td>
<td>Unit</td>
</tr>
<tr class="group">
<td colspan="3"></td>
</tr>
<tr>
<td>Title 3</td>
<td><input type="number"></td>
<td>Unit</td>
</tr>
<tr class="group">
<td colspan="3"></td>
</tr>
<tr>
<td>Title 4</td>
<td><input type="number"></td>
<td>Unit</td>
</tr>
</tbody>
</table>
这是我的JS,专注于下一个输入字段。
'change input[type="number"]': (event) => {
$(event.target).closest('tr').next(':not(.group)').find('input').focus();
}
这是第一个领域的工作。下一个输入字段将成为焦点。但是我不能集中在第三个输入字段上。
我也试过了
'change input[type="number"]': (event) => {
$(event.target).closest('tr').siblings(':not(.group)').find('input').focus();
}
但是然后将焦点设置到最后一个输入字段,我不明白为什么。
问题在于jQuerynext()
仅查看下一个同级,而不是所有随后的同级。您想要的是nextAll()
:
$(event.target)
.closest('tr')
.nextAll('tr:not(.group)')
.first()
.find('input')
.focus();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句