我有一个包含行的表和一个用于向表中添加行的按钮。我使用以下代码递增输入字段的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?
答案 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文本框已存在。