按下Enter键专注于表格内的下一个输入字段

Geomo

我需要使用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()
    }
 });

什么是错的还是缺失的?

萨帕尔

假设.inputs是您当前元素的同级。.find()搜索当前元素的后代(this)

 $('.inputs').keydown(function (e) {
    if (e.which === 13) {
       $(this).next('.inputs').focus();
    }
 });

您需要使用.closest() .nextAll()

 $('.inputs').keydown(function (e) {
    if (e.which === 13) {
        $(this).closest('td').nextAll().eq(1).find('.inputs').focus();

        //OR
        //$(this).closest('td').next().next().find('.inputs').focus()
    }
 });

演示

由于OP已更新问题。利用

 $('.inputs').keydown(function (e) {
     if (e.which === 13) {
         var index = $('.inputs').index(this) + 1;
         $('.inputs').eq(index).focus();
     }
 });

演示,如前所述,我已经使用过class="inputs"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按下Enter键时如何移动到下一个输入字段?

来自分类Dev

专注于下一个领域,在Vuejs中按Enter键

来自分类Dev

按下Enter键时如何将焦点移至下一个字段?

来自分类Dev

将光标移至下一个文本字段,按Enter键

来自分类Dev

按下Enter键将焦点设置到下一个nextbox

来自分类Dev

按下Enter键后如何进入下一个文本框?

来自分类Dev

按Enter时移动下一个输入

来自分类Dev

等待循环内按下一个键

来自分类Dev

当按下“ Enter”键而不是提交时,移至下一个文本框(Windows Phone)

来自分类Dev

按下一个键会创建循环,直到您按下另一个键

来自分类Dev

按Tab键缩进列表将移至下一个表格单元格

来自分类Dev

使用Enter键跳至下一个div,不输入?

来自分类Dev

使用Enter键下降事件移至下一个输入

来自分类Dev

在按下Enter键时将焦点设置到下一个nextbox

来自分类Dev

使用jQuery选择按Enter的下一个字段

来自分类Dev

按Enter时将光标移至下一个文本字段

来自分类Dev

按下Tab键时,不要将光标移至下一个按钮

来自分类Dev

防止按Enter键提交AJAX表单时,将焦点集中在下一个输入上不起作用

来自分类Dev

如何确保仅按下一个键

来自分类Dev

如何使用nodejs按下一个键?

来自分类Dev

按下一个键后如何“进入”?

来自分类Dev

React Native-专注于下一个TextInput字段

来自分类Dev

按Enter时继续下一个输入,如果有隐藏的输入则忽略

来自分类Dev

自动聚焦下一个输入字段

来自分类Dev

输入最大长度时,自动移至下一个输入字段并返回退格键

来自分类Dev

屏幕上的java打印arraylist元素,但等待用户按Enter键打印下一个

来自分类Dev

专注于容器中的下一个项目

来自分类Dev

angularjs不专注于下一个元素

来自分类Dev

通过单击按钮专注于下一个元素

Related 相关文章

  1. 1

    按下Enter键时如何移动到下一个输入字段?

  2. 2

    专注于下一个领域,在Vuejs中按Enter键

  3. 3

    按下Enter键时如何将焦点移至下一个字段?

  4. 4

    将光标移至下一个文本字段,按Enter键

  5. 5

    按下Enter键将焦点设置到下一个nextbox

  6. 6

    按下Enter键后如何进入下一个文本框?

  7. 7

    按Enter时移动下一个输入

  8. 8

    等待循环内按下一个键

  9. 9

    当按下“ Enter”键而不是提交时,移至下一个文本框(Windows Phone)

  10. 10

    按下一个键会创建循环,直到您按下另一个键

  11. 11

    按Tab键缩进列表将移至下一个表格单元格

  12. 12

    使用Enter键跳至下一个div,不输入?

  13. 13

    使用Enter键下降事件移至下一个输入

  14. 14

    在按下Enter键时将焦点设置到下一个nextbox

  15. 15

    使用jQuery选择按Enter的下一个字段

  16. 16

    按Enter时将光标移至下一个文本字段

  17. 17

    按下Tab键时,不要将光标移至下一个按钮

  18. 18

    防止按Enter键提交AJAX表单时,将焦点集中在下一个输入上不起作用

  19. 19

    如何确保仅按下一个键

  20. 20

    如何使用nodejs按下一个键?

  21. 21

    按下一个键后如何“进入”?

  22. 22

    React Native-专注于下一个TextInput字段

  23. 23

    按Enter时继续下一个输入,如果有隐藏的输入则忽略

  24. 24

    自动聚焦下一个输入字段

  25. 25

    输入最大长度时,自动移至下一个输入字段并返回退格键

  26. 26

    屏幕上的java打印arraylist元素,但等待用户按Enter键打印下一个

  27. 27

    专注于容器中的下一个项目

  28. 28

    angularjs不专注于下一个元素

  29. 29

    通过单击按钮专注于下一个元素

热门标签

归档