keyup上的文本字段的总和会导致行的第一个字段中出现问题

Ros*_*ose 5 html javascript jquery

我有一个table.I我试图下面找出总和: td(1) + td(2) + td(3) = td(4),td(5) + td(6) + td(7) = td(8),td(9) + td(10) + td(11) = td(12).

这是我的代码:

$(document).ready(function () {
    $('#table').on('keyup', 'input', function () {
        $("#table tr").slice(2).find("td:nth-child(4n + 1)").each(function () {
            var sum = 0;
            $(this).prevAll(':lt(3)').find('input').each(function () {
                sum += (+this.value || 0)
            });
            $(this).find('input').val(sum)
        })
    })
})
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常.但我的问题是,我不能输入任何东西到第一列(即td:eq(0)).我的代码有什么问题?

http://jsfiddle.net/b0svwpnn/3/

Ror*_*san 4

您需要inputnth-child选择中显式排除第一个,这可以使用 来实现:not()。尝试这个:

$("#table tr").slice(2).find("td:nth-child(4n + 1):not(:first)")
Run Code Online (Sandbox Code Playgroud)

更新了小提琴