回答編集履歴

1

行集計

2017/09/05 02:28

投稿

yambejp
yambejp

スコア114845

test CHANGED
@@ -35,3 +35,83 @@
35
35
 
36
36
 
37
37
  ```
38
+
39
+
40
+
41
+ # 行集計
42
+
43
+
44
+
45
+ ```javascript
46
+
47
+ <script>
48
+
49
+ document.addEventListener('change',function(e){
50
+
51
+ var t=e.target;
52
+
53
+ if(t.nodeName=="INPUT" && t.type=="number"){
54
+
55
+ var sum=0;
56
+
57
+ var p=t.parentNode.parentNode;
58
+
59
+ /*trまで遡る処理ですがちゃんとやるならもう少し工夫が必要*/
60
+
61
+ Array.prototype.map.call(p.querySelectorAll('input[type=number]'),function(i){;
62
+
63
+ sum+=(parseFloat(i.value)||0);
64
+
65
+ });
66
+
67
+ p.querySelector('td:last-child').innerHTML=sum;
68
+
69
+
70
+
71
+ }
72
+
73
+ });
74
+
75
+ </script>
76
+
77
+ <table>
78
+
79
+ <tr>
80
+
81
+ <td><input type="number" step="0.5" ></td>
82
+
83
+ <td><input type="number" step="0.25" ></td>
84
+
85
+ <td><input type="number" step="0.5" ></td>
86
+
87
+ <td>0</td>
88
+
89
+ </tr>
90
+
91
+ <tr>
92
+
93
+ <td><input type="number" step="0.5" ></td>
94
+
95
+ <td><input type="number" step="0.25" ></td>
96
+
97
+ <td><input type="number" step="0.5" ></td>
98
+
99
+ <td>0</td>
100
+
101
+ </tr>
102
+
103
+ <tr>
104
+
105
+ <td><input type="number" step="0.5" ></td>
106
+
107
+ <td><input type="number" step="0.25" ></td>
108
+
109
+ <td><input type="number" step="0.5" ></td>
110
+
111
+ <td>0</td>
112
+
113
+ </tr>
114
+
115
+ </table>
116
+
117
+ ```