質問するログイン新規登録

回答編集履歴

2

2つテーブル

2018/05/11 04:35

投稿

yambejp
yambejp

スコア118102

answer CHANGED
@@ -23,4 +23,68 @@
23
23
  }).addClass("is-selected");
24
24
  });
25
25
  });
26
+ ```
27
+ # 2つテーブル
28
+ ```javascript
29
+ $(function() {
30
+ $("#table td,#targetTable td").on("click", function(){
31
+ var idx = $(this).closest("tr").find("td").index(this);
32
+ $("#table td,#targetTable td").removeClass("is-selected").filter(function(){
33
+ return $(this).closest("tr").find("td").index(this)==idx;
34
+ }).addClass("is-selected");
35
+ });
36
+ });
37
+ ```
38
+ ```HTML
39
+ <table id="table">
40
+ <tbody>
41
+ <tr>
42
+ <td>1</td>
43
+ <td>2</td>
44
+ <td>3</td>
45
+ <td>4</td>
46
+ <td>5</td>
47
+ </tr>
48
+ <tr>
49
+ <td></td>
50
+ <td></td>
51
+ <td></td>
52
+ <td></td>
53
+ <td></td>
54
+ </tr>
55
+ <tr>
56
+ <td></td>
57
+ <td></td>
58
+ <td></td>
59
+ <td></td>
60
+ <td></td>
61
+ </tr>
62
+ </tbody>
63
+ </table>
64
+ <br>
65
+ <table id="targetTable">
66
+ <tbody>
67
+ <tr>
68
+ <td>1</td>
69
+ <td>2</td>
70
+ <td>3</td>
71
+ <td>4</td>
72
+ <td>5</td>
73
+ </tr>
74
+ <tr>
75
+ <td></td>
76
+ <td></td>
77
+ <td></td>
78
+ <td></td>
79
+ <td></td>
80
+ </tr>
81
+ <tr>
82
+ <td></td>
83
+ <td></td>
84
+ <td></td>
85
+ <td></td>
86
+ <td></td>
87
+ </tr>
88
+ </tbody>
89
+ </table>
26
90
  ```

1

追記

2018/05/11 04:35

投稿

yambejp
yambejp

スコア118102

answer CHANGED
@@ -3,10 +3,24 @@
3
3
  $(function() {
4
4
  $("#table td").on("click", function(){
5
5
  var idx = $("#table td").index(this);
6
- $("#table td").removeClass("is-selected").filter(function(){return $(this).closest("tr").find("td").index(this)==idx;}).addClass("is-selected");
6
+ $("#table td").removeClass("is-selected").filter(function(){
7
+ return $(this).closest("tr").find("td").index(this)==idx;
8
+ }).addClass("is-selected");
7
9
  });
8
10
  });
9
11
  ```
10
12
 
11
13
  元の命題もそうだけどこれって1行目のクリックでしか列のselectedを移動できないですが
12
- 2行目以降のtdで移動しなくてもよいのですか?
14
+ 2行目以降のtdで移動しなくてもよいのですか?
15
+
16
+ # どの行でも
17
+ ```javascript
18
+ $(function() {
19
+ $("#table td").on("click", function(){
20
+ var idx = $(this).closest("tr").find("td").index(this);
21
+ $("#table td").removeClass("is-selected").filter(function(){
22
+ return $(this).closest("tr").find("td").index(this)==idx;
23
+ }).addClass("is-selected");
24
+ });
25
+ });
26
+ ```