回答編集履歴
2
追記
answer
CHANGED
@@ -13,4 +13,83 @@
|
|
13
13
|
|
14
14
|
※一応tableを確定させるためにtableにid="t1"を指定してください。
|
15
15
|
※thも対象ですか?軽微な修正なのでソースを修正しときました
|
16
|
-
find('td')→find('td,th')
|
16
|
+
find('td')→find('td,th')
|
17
|
+
|
18
|
+
# 追記
|
19
|
+
|
20
|
+
よくみたらもとの機能はそのままなんですね
|
21
|
+
ではこんな感じで
|
22
|
+
```javascript
|
23
|
+
$(function() {
|
24
|
+
$('#t1 tr:first-child th').on('click', function() {
|
25
|
+
var dow=$('#t1 tr:first-child th').index(this);
|
26
|
+
$('.js-dow').eq(dow).prop('checked',function( index, prop ){return !prop;}).change();
|
27
|
+
});
|
28
|
+
$('.js-dow').on('change', function() {
|
29
|
+
var flg=$(this).prop('checked');
|
30
|
+
var dow=$('.js-dow').index(this);
|
31
|
+
$('#t1 tr').each(function() {
|
32
|
+
$(this).find('td,th').eq(dow).toggleClass('selected',flg);
|
33
|
+
});
|
34
|
+
}).change();
|
35
|
+
});
|
36
|
+
|
37
|
+
```
|
38
|
+
ついでにHTMLもほぼ提示のままですが
|
39
|
+
```HTML
|
40
|
+
<input type="checkbox" class="js-dow">月曜
|
41
|
+
<input type="checkbox" class="js-dow">火曜
|
42
|
+
<input type="checkbox" class="js-dow">水曜
|
43
|
+
<input type="checkbox" class="js-dow">木曜
|
44
|
+
<input type="checkbox" class="js-dow">金曜
|
45
|
+
<input type="checkbox" class="js-dow">土曜
|
46
|
+
<input type="checkbox" class="js-dow">日曜
|
47
|
+
|
48
|
+
<table id="t1">
|
49
|
+
<tr>
|
50
|
+
<th class="js-dow">mon</th>
|
51
|
+
<th class="js-dow">tue</th>
|
52
|
+
<th class="js-dow">wed</th>
|
53
|
+
<th class="js-dow">thu</th>
|
54
|
+
<th class="js-dow">fri</th>
|
55
|
+
<th class="js-dow">sat</th>
|
56
|
+
<th class="js-dow">sun</th>
|
57
|
+
</tr>
|
58
|
+
<tr>
|
59
|
+
<td>1</td>
|
60
|
+
<td>2</td>
|
61
|
+
<td>3</td>
|
62
|
+
<td>4</td>
|
63
|
+
<td>5</td>
|
64
|
+
<td>6</td>
|
65
|
+
<td>7</td>
|
66
|
+
</tr>
|
67
|
+
<tr>
|
68
|
+
<td>8</td>
|
69
|
+
<td>9</td>
|
70
|
+
<td>10</td>
|
71
|
+
<td>11</td>
|
72
|
+
<td>12</td>
|
73
|
+
<td>13</td>
|
74
|
+
<td>14</td>
|
75
|
+
</tr>
|
76
|
+
<tr>
|
77
|
+
<td>15</td>
|
78
|
+
<td>16</td>
|
79
|
+
<td>17</td>
|
80
|
+
<td>18</td>
|
81
|
+
<td>19</td>
|
82
|
+
<td>20</td>
|
83
|
+
<td>21</td>
|
84
|
+
</tr>
|
85
|
+
<tr>
|
86
|
+
<td>22</td>
|
87
|
+
<td>23</td>
|
88
|
+
<td>24</td>
|
89
|
+
<td>25</td>
|
90
|
+
<td>26</td>
|
91
|
+
<td>27</td>
|
92
|
+
<td>28</td>
|
93
|
+
</tr>
|
94
|
+
</table>
|
95
|
+
```
|
1
th対応
answer
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
```javascript
|
2
2
|
$(function() {
|
3
|
-
$(
|
3
|
+
$('.js-dow').on('change', function() {
|
4
4
|
var flg=$(this).prop('checked');
|
5
|
-
var dow=$(
|
5
|
+
var dow=$('.js-dow').index(this);
|
6
|
-
$(
|
6
|
+
$('#t1 tr').each(function() {
|
7
|
-
$(this).find('td').eq(dow).toggleClass('selected',flg);
|
7
|
+
$(this).find('td,th').eq(dow).toggleClass('selected',flg);
|
8
8
|
});
|
9
9
|
}).change();
|
10
10
|
});
|
11
11
|
|
12
12
|
```
|
13
13
|
|
14
|
-
※一応tableを確定させるためにtableにid="t1"を指定してください。
|
14
|
+
※一応tableを確定させるためにtableにid="t1"を指定してください。
|
15
|
+
※thも対象ですか?軽微な修正なのでソースを修正しときました
|
16
|
+
find('td')→find('td,th')
|