javascript - 使用向上/向下键在表格中的文本字段之间移动

标签 javascript jquery html dom

我有一个大致像这样设置的

Name            Description     Notes
===========================================
[___________]   [_________]     [_________]

有很多行,而不是用户在行中切换,我想实现按向上/向下键在所选列中上下移动。

行的 ID 为“row_{ID}”,其中 ID 是数据库 ID。这些字段具有 ID 'name_{ID}'、'description_{ID}'、'notes_{ID}' 等。

我正在用 jQuery 诱捕媒体,例如:

$('input[id^="name_"]').bind('keyup', function(e) {

    if(e.keyCode == 38)
        ...
    else if(e.keyCode == 40)
        ...
});

基本上我想要的是,如果用户在描述的第 2 行并向上按,他们将移动到第 1 行的描述字段,如果他们按下,他们将移动到第 3 行的描述字段。

我想不出选择下一行或上一行的方法。谁能提供帮助?

最佳答案

往下走:

$(this).closest('tr').next().find('input[name=' + $(this).attr('name') + ']').focus();

往上走:

$(this).closest('tr').prev().find('input[name=' + $(this).attr('name') + ']').focus();

也就是说,假设您的输入都被命名为相同的。

否则,您必须稍微更改该选择器,或者在 td 上使用 jQuery 的 .index(),然后使用 .eq( )

关于javascript - 使用向上/向下键在表格中的文本字段之间移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7257739/