javascriptにおけるsetKTotal()内の
total1[0].value = parseInt(ksubtotal[0].value, 10) + parseInt(ksubtotal[1].value, 10) + parseInt(ksubtotal[2].value, 10) + parseInt(ksubtotal[3].value, 10) + parseInt(ksubtotal[4].value, 10);
をより簡略にし、合計を出すにはどうしたらいいでしょうか?
ループなどを用いた具体的なコードを教えていただけるとありがたいです。
javascript
1var kprice = document.getElementsByName('k-price'); 2var ksubtotal = document.getElementsByName('k-subtotal'); 3var way = document.getElementsByName('way'); 4var total1 = document.getElementsByName('total1'); 5 6function setKTotal() { 7 "use strict"; 8 total1[0].value = parseInt(ksubtotal[0].value, 10) + parseInt(ksubtotal[1].value, 10) + parseInt(ksubtotal[2].value, 10) + parseInt(ksubtotal[3].value, 10) + parseInt(ksubtotal[4].value, 10); 9} 10function setKSubTotal() { 11 "use strict"; 12 var i; 13 for (i = 0; i < 5; i++) { 14 ksubtotal[i].value = kprice[i].value * way[i].value; 15 setKTotal(); 16 } 17}
html
1<tr class="line2"> 2<td> 3 <select name="transportation"> 4 <option value="ku"></option> 5 <option value="chika">地下鉄</option> 6 <option value="zairai">JR在来線</option> 7 <option value="shinkan">JR新幹線</option> 8 <option value="hankyu">阪急</option> 9 <option value="keihan">京阪</option> 10 </select> 11 </td> 12 <td><input type="text" name="k-price" onchange="setKSubTotal()"></td> 13 <td> 14 <select name="way" onchange="setKSubTotal()"> 15 <option value="1">片道</option> 16 <option value="2">往復</option> 17 </select> 18 </td> 19 <td><input type="text" name="k-subtotal" readonly="readonly"></td> 20</tr> 21<tr class="line1"> 22 <td></td> 23 <td></td> 24 <td class="goke">合計</td> 25 <td><input type="text" name="total1" readonly="readonly"></td> 26</tr>
回答4件
あなたの回答
tips
プレビュー