0

行を含むテーブルと、テーブルに行を追加するためのボタンがあります。次のコードを使用して、入力フィールドの 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ではなく入力ボックスに出力するにはどうすればよいですか?

4

1 に答える 1

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 テキストボックスが存在する現在の行内にあると仮定しています。

于 2012-10-03T15:38:57.670 に答える