質問: SUM + Number($(this).val()); }); $("#Sum" + GROUP).val(SUM); }; // テーブル内のinputを変更した場合 $('table').on('change', '[data-group]', function(){ DoSum($(this)); }); $('button').click(function(){ $('tbody').after( '' +'' +'' +'' +'' +'' ); }); }); ``` ### 試したこと [data-group='"+ GROUP +"']の部分をそれぞれ直接指定して ページ内に「計算」ボタンを追加して on clickで全てのdata-groupを計算するように変更してみたり 全く別のコードもいくつかトライしてみたのですが、 動的に行数が増えるせいか、どれもうまくいきませんでした。
回答: 1つの入力で全グループを再計算させるには、以下で動作すると思います。 ``` const Group = ['Unit', 'number', 'Total']; $('table').on('change', '[data-group]', function(){ for(let i=0; Group.length > i; i++){ var SUM = 0; var GROUP = Group[i]; $("[data-group='"+ GROUP +"']").each(function(index){ SUM = SUM + Number($(this).val()); }); $("#Sum" + GROUP).val(SUM); } }); ```