从当前行中选择输入?

时间:2012-10-03 15:23:00

标签: jquery

我有一个包含行的表和一个用于向表中添加行的按钮。我使用以下代码递增输入字段的id:

$("#add_row_e").click(function() {
    var row = $("#expenses tbody > tr:last"),
        newRow = row.clone(true);
    newRow.find("input").each(function() {
        var num = +(this.id.match(/\d+$/) || [0])[0] + 1;
        this.id = this.id.replace(/\d+$/, "") + num;
        this.name = this.id;
    });
    newRow.insertAfter(row);
    return false;
});

然后我将2个输入相乘并使用它输出到div:

$('.multiplier').on('keyup', function() {
    $('#results').html("£" + parseInt($('#E_NONM').val()) * parseInt($('#E_CCNM').val()));
});

有没有什么办法可以让我为每个添加的新行工作?我想它必须要查看行中的id并使用它来繁殖,但我不知道该怎么做。

另外,如何将上述内容输出到输入框而不是div?

1 个答案:

答案 0 :(得分:0)

试试这个

$('.multiplier').on('keyup', function() {

   var $tr = $(this).closest('tr');
   var $non = $tr.find('[id*=E_NONM]').val();
   var $ccn = $tr.find('[id*=E_CCNM]').val();

   $tr.find('#results').val("£" + parseInt($non) * parseInt($ccn));
});

这假设#E_NONM和#E_CCNM位于当前行中.multiplier文本框已存在。