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

回答編集履歴

4

全部

2018/08/27 02:34

投稿

yambejp
yambejp

スコア117902

answer CHANGED
@@ -16,4 +16,51 @@
16
16
  <input type="checkbox" name="c" id="c4" value="4"><input type="button" value="4" onclick="document.querySelector('#c4').checked=!document.querySelector('#c4').checked">
17
17
  <input type="checkbox" name="c" id="c5" value="5"><input type="button" value="5" onclick="document.querySelector('#c5').checked=!document.querySelector('#c5').checked">
18
18
  ```
19
- ※不要なjavascriptの表記があったので削除しました
19
+ ※不要なjavascriptの表記があったので削除しました
20
+
21
+ # フルバージョン
22
+ ```CSS
23
+ [name="c[]"]{display:none;}
24
+ [name="c[]"]:checked + .cx{background-Color:red;}
25
+ ```
26
+ ```javacript
27
+ window.addEventListener('DOMContentLoaded', function(e){
28
+ document.querySelector('#f1').addEventListener('submit',function(e){
29
+ var c=[].map.call(document.querySelectorAll('[name="c[]"]:checked'),function(x){
30
+ return x.value;
31
+ }).join(",");
32
+ if(c===""){
33
+ alert("not checked");
34
+ e.preventDefault();
35
+ }else{
36
+ if(!confirm(c+" checked. OK?")){
37
+ e.preventDefault();
38
+ }
39
+ }
40
+ });
41
+ [].forEach.call(document.querySelectorAll('.cx'),function(x){
42
+ x.addEventListener('click',function(e){
43
+ var t=e.target;
44
+ var n=document.querySelector('#c'+t.value);
45
+ n.checked=!n.checked;
46
+ });
47
+ });
48
+ });
49
+ ```
50
+ ```PHP
51
+
52
+ <?PHP
53
+ $c=filter_input(INPUT_GET,"c",FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
54
+ if(!is_null($c)){
55
+ print "checked:".implode(",",$c)."<br>";
56
+ }
57
+ ?>
58
+ <form method="get" id="f1">
59
+ <input type="checkbox" name="c[]" id="c1" value="1"><input type="button" value="1" class="cx">
60
+ <input type="checkbox" name="c[]" id="c2" value="2"><input type="button" value="2" class="cx">
61
+ <input type="checkbox" name="c[]" id="c3" value="3"><input type="button" value="3" class="cx">
62
+ <input type="checkbox" name="c[]" id="c4" value="4"><input type="button" value="4" class="cx">
63
+ <input type="checkbox" name="c[]" id="c5" value="5"><input type="button" value="5" class="cx"><br>
64
+ <input type="submit" value="go">
65
+ </form>
66
+ ```

3

調整

2018/08/27 02:34

投稿

yambejp
yambejp

スコア117902

answer CHANGED
@@ -10,10 +10,10 @@
10
10
  ```
11
11
  # チェックボックスバージョン
12
12
  ```html
13
- <input type="checkbox" name="c" id="c1" value="1"><input type="button" value="1" onclick="document.querySelector('#c1').checked=!document.querySelector('#c1').checked"></label>
13
+ <input type="checkbox" name="c" id="c1" value="1"><input type="button" value="1" onclick="document.querySelector('#c1').checked=!document.querySelector('#c1').checked">
14
- <input type="checkbox" name="c" id="c2" value="2"><input type="button" value="2" onclick="document.querySelector('#c2').checked=!document.querySelector('#c2').checked"></label>
14
+ <input type="checkbox" name="c" id="c2" value="2"><input type="button" value="2" onclick="document.querySelector('#c2').checked=!document.querySelector('#c2').checked">
15
- <input type="checkbox" name="c" id="c3" value="3"><input type="button" value="3" onclick="document.querySelector('#c3').checked=!document.querySelector('#c3').checked"></label>
15
+ <input type="checkbox" name="c" id="c3" value="3"><input type="button" value="3" onclick="document.querySelector('#c3').checked=!document.querySelector('#c3').checked">
16
- <input type="checkbox" name="c" id="c4" value="4"><input type="button" value="4" onclick="document.querySelector('#c4').checked=!document.querySelector('#c4').checked"></label>
16
+ <input type="checkbox" name="c" id="c4" value="4"><input type="button" value="4" onclick="document.querySelector('#c4').checked=!document.querySelector('#c4').checked">
17
- <input type="checkbox" name="c" id="c5" value="5"><input type="button" value="5" onclick="document.querySelector('#c5').checked=!document.querySelector('#c5').checked"></label>
17
+ <input type="checkbox" name="c" id="c5" value="5"><input type="button" value="5" onclick="document.querySelector('#c5').checked=!document.querySelector('#c5').checked">
18
18
  ```
19
19
  ※不要なjavascriptの表記があったので削除しました

2

調整

2018/08/27 02:04

投稿

yambejp
yambejp

スコア117902

answer CHANGED
@@ -10,18 +10,10 @@
10
10
  ```
11
11
  # チェックボックスバージョン
12
12
  ```html
13
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
14
- <script>
15
- </script>
16
- <input type="radio" name="r" id="r1" value="1"><input type="button" value="1" onclick="document.querySelector('#r1').checked=true"></label>
17
- <input type="radio" name="r" id="r2" value="2"><input type="button" value="2" onclick="document.querySelector('#r2').checked=true"></label>
18
- <input type="radio" name="r" id="r3" value="3"><input type="button" value="3" onclick="document.querySelector('#r3').checked=true"></label>
19
- <input type="radio" name="r" id="r4" value="4"><input type="button" value="4" onclick="document.querySelector('#r4').checked=true"></label>
20
- <input type="radio" name="r" id="r5" value="5"><input type="button" value="5" onclick="document.querySelector('#r5').checked=true"></label>
21
- <hr>
22
13
  <input type="checkbox" name="c" id="c1" value="1"><input type="button" value="1" onclick="document.querySelector('#c1').checked=!document.querySelector('#c1').checked"></label>
23
14
  <input type="checkbox" name="c" id="c2" value="2"><input type="button" value="2" onclick="document.querySelector('#c2').checked=!document.querySelector('#c2').checked"></label>
24
15
  <input type="checkbox" name="c" id="c3" value="3"><input type="button" value="3" onclick="document.querySelector('#c3').checked=!document.querySelector('#c3').checked"></label>
25
16
  <input type="checkbox" name="c" id="c4" value="4"><input type="button" value="4" onclick="document.querySelector('#c4').checked=!document.querySelector('#c4').checked"></label>
26
17
  <input type="checkbox" name="c" id="c5" value="5"><input type="button" value="5" onclick="document.querySelector('#c5').checked=!document.querySelector('#c5').checked"></label>
27
- ```
18
+ ```
19
+ ※不要なjavascriptの表記があったので削除しました

1

追記

2018/08/27 02:02

投稿

yambejp
yambejp

スコア117902

answer CHANGED
@@ -7,4 +7,21 @@
7
7
  <input type="radio" name="r" id="r3" value="3"><input type="button" value="3" onclick="document.querySelector('#r3').checked=true"></label>
8
8
  <input type="radio" name="r" id="r4" value="4"><input type="button" value="4" onclick="document.querySelector('#r4').checked=true"></label>
9
9
  <input type="radio" name="r" id="r5" value="5"><input type="button" value="5" onclick="document.querySelector('#r5').checked=true"></label>
10
+ ```
11
+ # チェックボックスバージョン
12
+ ```html
13
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
14
+ <script>
15
+ </script>
16
+ <input type="radio" name="r" id="r1" value="1"><input type="button" value="1" onclick="document.querySelector('#r1').checked=true"></label>
17
+ <input type="radio" name="r" id="r2" value="2"><input type="button" value="2" onclick="document.querySelector('#r2').checked=true"></label>
18
+ <input type="radio" name="r" id="r3" value="3"><input type="button" value="3" onclick="document.querySelector('#r3').checked=true"></label>
19
+ <input type="radio" name="r" id="r4" value="4"><input type="button" value="4" onclick="document.querySelector('#r4').checked=true"></label>
20
+ <input type="radio" name="r" id="r5" value="5"><input type="button" value="5" onclick="document.querySelector('#r5').checked=true"></label>
21
+ <hr>
22
+ <input type="checkbox" name="c" id="c1" value="1"><input type="button" value="1" onclick="document.querySelector('#c1').checked=!document.querySelector('#c1').checked"></label>
23
+ <input type="checkbox" name="c" id="c2" value="2"><input type="button" value="2" onclick="document.querySelector('#c2').checked=!document.querySelector('#c2').checked"></label>
24
+ <input type="checkbox" name="c" id="c3" value="3"><input type="button" value="3" onclick="document.querySelector('#c3').checked=!document.querySelector('#c3').checked"></label>
25
+ <input type="checkbox" name="c" id="c4" value="4"><input type="button" value="4" onclick="document.querySelector('#c4').checked=!document.querySelector('#c4').checked"></label>
26
+ <input type="checkbox" name="c" id="c5" value="5"><input type="button" value="5" onclick="document.querySelector('#c5').checked=!document.querySelector('#c5').checked"></label>
10
27
  ```