在keyup事件上填充兄弟单元格

时间:2012-08-17 21:20:45

标签: jquery html-table cell

这是我要讨论的Fiddle

我有三个输入框,我想制作它们,以便当用户输入其中任何一个时,其他输入框将填充一些文本。应设置为如果用户在第一个单元格中键入,则填充右侧的两个单元格,或者如果用户在行中的最后一个单元格中键入,则会填充前两个单元格。

到目前为止我的代码是在小提琴中。我已经尝试.next()大约一百万次了,我无法让它工作。

HTML:

<table>
    <tr>
        <td><input type="text" /></td>
        <td><input type="text" /></td>
        <td><input type="text" /></td>
    </tr>
</table>​

JS:

$('input').focus(function() {
    $(this).keyup(function() {
        var tmp = $(this).val();
        $(this).next('input').val("asdf");
    });
});​

1 个答案:

答案 0 :(得分:3)

$('input').on('keyup', function() {
    $(this).closest('td').siblings('td').find('input').val(this.value);
});

FIDDLE

修改

排除第一个:

$('input:gt(0)').on('keyup', function() {
    $(this).closest('td').siblings('td').not(':first').find('input').val(this.value);
});

FIDDLE