回答編集履歴

5

コメントに合わせてコード修正

2016/02/06 21:09

投稿

yng13
yng13

スコア215

test CHANGED
@@ -78,6 +78,8 @@
78
78
 
79
79
  break;
80
80
 
81
+ case "選択してください: // 選択してください、にはvalueが設定されていない
82
+
81
83
  case "list2": // いちごの場合
82
84
 
83
85
  // アメリカ人を表示にして、イギリス人を非表示
@@ -152,7 +154,7 @@
152
154
 
153
155
  </div>
154
156
 
155
- <div id="british">
157
+ <div id="british" style="display:none;">
156
158
 
157
159
  <input type="radio" name="radio1" id="radio_british" value="イギリス人" disabled>
158
160
 

4

コメントの修正

2016/02/06 21:09

投稿

yng13
yng13

スコア215

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ・表示/非表示と活性化/非活性化は意味が違います
14
14
 
15
- 非活性化とは、ご自身でもコードにかかれているように、disableを使って、クリックできなくすることです
15
+ 非活性化とは、ご自身でもコードにかかれているように、disabledを使って、クリックできなくすることです
16
16
 
17
17
  ・このケースだと、if-elseで条件分岐をするよりも、switch-caseで分岐したほうが、条件ごとの処理をまとめてかけるからスッキリするのではないでしょうか?
18
18
 
@@ -140,7 +140,7 @@
140
140
 
141
141
  <input type="radio" name="radio1" id="radio_japanese" value="日本人">
142
142
 
143
- <label for="radio_japanese">日本人</label>
143
+ <label for="radio_japanese" checked>日本人</label>
144
144
 
145
145
  </div>
146
146
 

3

コメントの修正

2016/02/06 15:28

投稿

yng13
yng13

スコア215

test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  case "list1": // みかんの場合
68
68
 
69
- // アメリカ人を表示にして、イギリス人を表示
69
+ // アメリカ人を表示にして、イギリス人を表示
70
70
 
71
71
  american.style.display = "";
72
72
 

2

誤りの修正

2016/02/06 15:27

投稿

yng13
yng13

スコア215

test CHANGED
@@ -58,6 +58,10 @@
58
58
 
59
59
  britsh.style.display = "";
60
60
 
61
+ // イギリス人の選択肢を活性化
62
+
63
+ document.getElementById("radio_british").disabled = false;
64
+
61
65
  break;
62
66
 
63
67
  case "list1": // みかんの場合
@@ -81,10 +85,6 @@
81
85
  american.style.display = "";
82
86
 
83
87
  britsh.style.display = "none";
84
-
85
- // イギリス人の選択肢を活性化
86
-
87
- document.getElementById("radio_british").disabled = false;
88
88
 
89
89
  // アメリカ人の選択肢を活性化
90
90
 

1

id名が紛らわしかったので変更

2016/02/06 15:24

投稿

yng13
yng13

スコア215

test CHANGED
@@ -42,15 +42,21 @@
42
42
 
43
43
 
44
44
 
45
+ var american = document.getElementById("american");
46
+
47
+ var britsh = document.getElementById("british");
48
+
49
+
50
+
45
51
  switch (value) {
46
52
 
47
53
  case "list0": // りんごの場合
48
54
 
49
55
  // アメリカ人を非表示にして、イギリス人を表示
50
56
 
51
- document.getElementById('radio_american').style.display = "none";
57
+ american.style.display = "none";
52
58
 
53
- document.getElementById('radio_british').style.display = "";
59
+ britsh.style.display = "";
54
60
 
55
61
  break;
56
62
 
@@ -58,13 +64,13 @@
58
64
 
59
65
  // アメリカ人を非表示にして、イギリス人を表示
60
66
 
61
- document.getElementById('radio_american').style.display = "";
67
+ american.style.display = "";
62
68
 
63
- document.getElementById('radio_british').style.display = "none";
69
+ britsh.style.display = "none";
64
70
 
65
71
  // アメリカ人の選択肢を非活性化
66
72
 
67
- document.getElementById("american").disabled = true;
73
+ document.getElementById("radio_american").disabled = true;
68
74
 
69
75
  break;
70
76
 
@@ -72,17 +78,17 @@
72
78
 
73
79
  // アメリカ人を表示にして、イギリス人を非表示
74
80
 
75
- document.getElementById("radio_american").style.display = "";
81
+ american.style.display = "";
76
82
 
77
- document.getElementById('radio_british').style.display = "none";
83
+ britsh.style.display = "none";
78
84
 
79
85
  // イギリス人の選択肢を活性化
80
86
 
81
- document.getElementById("british").disabled = false;
87
+ document.getElementById("radio_british").disabled = false;
82
88
 
83
89
  // アメリカ人の選択肢を活性化
84
90
 
85
- document.getElementById("american").disabled = false;
91
+ document.getElementById("radio_american").disabled = false;
86
92
 
87
93
  break;
88
94
 
@@ -130,27 +136,27 @@
130
136
 
131
137
  <td>
132
138
 
133
- <div id="radio_japanese">
139
+ <div id="japanese">
134
140
 
135
- <input type="radio" name="radio1" id="japanese" value="日本人">
141
+ <input type="radio" name="radio1" id="radio_japanese" value="日本人">
136
142
 
137
- <label for="japanese">日本人</label>
143
+ <label for="radio_japanese">日本人</label>
138
144
 
139
145
  </div>
140
146
 
141
- <div id="radio_american">
147
+ <div id="american">
142
148
 
143
- <input type="radio" name="radio1" id="american" value="アメリカ人">
149
+ <input type="radio" name="radio1" id="radio_american" value="アメリカ人">
144
150
 
145
- <label for="american">アメリカ人</label>
151
+ <label for="radio_american">アメリカ人</label>
146
152
 
147
153
  </div>
148
154
 
149
- <div id="radio_british">
155
+ <div id="british">
150
156
 
151
- <input type="radio" name="radio1" id="british" value="イギリス人" disabled>
157
+ <input type="radio" name="radio1" id="radio_british" value="イギリス人" disabled>
152
158
 
153
- <label for="british">イギリス人</label>
159
+ <label for="radio_british">イギリス人</label>
154
160
 
155
161
  </div>
156
162