回答編集履歴

1

補足の追加。

2016/05/14 09:25

投稿

kei344
kei344

スコア69407

test CHANGED
@@ -67,3 +67,97 @@
67
67
  }
68
68
 
69
69
  ```
70
+
71
+
72
+
73
+ ---
74
+
75
+
76
+
77
+ **追記(蛇足):JavaScriptでやるならこうする**
78
+
79
+ HTMLは上記回答と同じ。
80
+
81
+
82
+
83
+ **[動くサンプル](https://jsfiddle.net/3w7qksz2/)**
84
+
85
+
86
+
87
+ ```JavaScript
88
+
89
+ $(function() {
90
+
91
+ // 画像だけでなくチェックボックスもクリックを拾いたいのでlabelにイベントを設置
92
+
93
+ $( '.image_box label' ).click( function() {
94
+
95
+ var $this = $( this );
96
+
97
+ // チェックボックスの状態を確認してチェックされている際はラベルにクラスを付ける
98
+
99
+ if( $this.find( '.location_checkbox' ).prop( 'checked' ) ){
100
+
101
+ $this.addClass( 'checked' );
102
+
103
+ } else {
104
+
105
+ $this.removeClass( 'checked' );
106
+
107
+
108
+
109
+ }
110
+
111
+ });
112
+
113
+ });
114
+
115
+ ```
116
+
117
+ ```CSS
118
+
119
+ .image_box label {
120
+
121
+ display: inline-block;
122
+
123
+ min-height: 50px;
124
+
125
+ min-width: 50px;
126
+
127
+ position: relative;
128
+
129
+ }
130
+
131
+ /* チェックボックスの位置 */
132
+
133
+ .image_box .location_checkbox {
134
+
135
+ position: absolute;
136
+
137
+ top: 12px;
138
+
139
+ right: 12px;
140
+
141
+ transform: scale( 1 );
142
+
143
+ cursor: pointer;
144
+
145
+ }
146
+
147
+ .image_box img.thumbnail {
148
+
149
+ border: 4px solid rgba( 0, 0, 0, 0 );
150
+
151
+ box-sizing: border-box;
152
+
153
+ }
154
+
155
+ /* チェックが入っていると枠を表示する */
156
+
157
+ .image_box .checked img.thumbnail { /* ラベルにクラスを付けているため書き順が変わっています。 */
158
+
159
+ border-color: blue;
160
+
161
+ }
162
+
163
+ ```