【发布时间】:2014-01-20 17:23:53
【问题描述】:
我需要使用 Enter 键移动到包含许多行的表中的下一个输入字段。我试试这个:
$(function() {
$('input').keyup(function (e) {
if (e.which == 13) {
$(this).find().next('input').focus();
}
});
});
为什么不工作? :(
HTML
<table class="half">
<tr>
<td>Nome :</td>
<td><input name="ragsoc" type="text" id="ragsoc" value=""/></td>
<td>Mnemo:</td>
<td><input name="mnemo" type="text" id="mnemo" value=""/></td>
<td>Partita IVA :</td>
<td><input name="piva" type="text" id="piva" value=""/></td>
</tr>
<tr>
<td>Nome :</td>
<td><input name="ragsoc" type="text" id="ragsoc" value=""/></td>
<td>Mnemo:</td>
<td><input name="mnemo" type="text" id="mnemo" value=""/></td>
<td>Partita IVA :</td>
<td><input name="piva" type="text" id="piva" value=""/></td>
</tr>
</table>
这段代码工作正常,但只在表格的第一行:
$('input').keydown(function (e) {
if (e.which === 13) {
$(this).closest('td').nextAll().eq(1).find('input').focus()
}
});
出了什么问题或遗漏了什么?
【问题讨论】:
-
我们需要查看您的 html。
-
试试
$(this).nextAll('.inputs:first').focus() -
没有看到 html,任何答案都是最好的猜测。
标签: jquery