画像のように複数のinputに入力された数値を「開始」ボタンを押すと合計が求められる仕組みをjQueryで作りたいです。
合計はとりあえずconsole.logで表示されれば大丈夫です。
初学者なので至らぬ点がありますがよろしくお願いします。
html
1<table id="member_list" class="table"> 2 <tbody> 3 <tr class="row"> 4 <th class="col-6 px-5">名前</th> 5 <th class="col-6 px-5">金額</th> 6 </tr> 7 <tr class="row"> 8 <td class="col-6 px-5">たなか</td> 9 <td class="col-6 px-5"><input class="en rounded border" type="number" name="price"> 円</td> 10 </tr> 11 <tr class="row"> 12 <td class="col-6 px-5">たなか</td> 13 <td class="col-6 px-5"><input class="en rounded border" type="number" name="price"> 円</td> 14 </tr> 15 <tr class="row"> 16 <td class="col-6 px-5">たなか</td> 17 <td class="col-6 px-5"><input class="en rounded border" type="number" name="price"> 円</td> 18 </tr> 19 </tbody> 20</table> 21<div class="row text-center"> 22 <button id="begin" type="button" class="btn btn-secondary btn-lg col-8 mx-auto">開始</button> 23</div>
下記コードで試したが、sum = sum + num.value[i];の行で
Uncaught TypeError: Assignment to constant variable.
とエラー。
jQuery
1 $("#begin").on("click", function(){ 2 //メンバーの金額を取得して合計する 3 $(".en").each(function(index, num){ 4 $('.en').last().attr("id", "last"); 5 const elm = $("#last"); 6 const last = $(".en").index(elm); 7 const sum = 0; 8 for(let i = 0; i<=last+1; i++){ 9 console.log(num[1]); 10 sum = sum + num.value[i]; 11 console.log(sum); 12 }; 13 }); 14 }); 15}());
回答2件
あなたの回答
tips
プレビュー