質問編集履歴

4

誤字

2024/06/30 02:21

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 実現したいこと
2
2
 
3
3
  フォームのラジオボタンとチェックボックスを選択していき、表画像のように各商品にだけ0か1ずつ加点していき合計点数を出したい。
4
- そして点数が高い商品を表示したい商品と紐づけてopenというクラスを付与したい。
4
+ そして合計点数が高い商品2つを表示したい商品と紐づけてopenというクラスを付与したい。
5
5
  合計点数を出すまではできたが、紐づける方法が全くわからない。
6
6
  JS初心者でソースも汚いです。
7
7
 

3

聞きたい内容の変更

2024/06/30 02:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,51 +1,74 @@
1
1
  ### 実現したいこと
2
2
 
3
- フォームのラジオボタンとチェックボックスを選択していき、表画像のように各商品にだけ0か1ずつ加点していきたい。
3
+ フォームのラジオボタンとチェックボックスを選択していき、表画像のように各商品にだけ0か1ずつ加点していき合計点数を出したい。
4
+ そして点数が高い商品を表示したい商品と紐づけてopenというクラスを付与したい。
5
+ 合計点数を出すまではできたが、紐づける方法が全くわからない。
6
+ JS初心者でソースも汚いです。
7
+
4
8
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-06-29/bafa336e-d58a-4cae-98d4-863ef591dd9a.png)
5
9
 
6
10
  ### 発生している問題・分からないこと
7
- そもそも実現はできるものなのか分かりません。
8
- パターンではvalueも数字にしてしまうとダメな気もして
11
+ 今の方法では配列の商品1とクラスの$("itemimg1")どの紐付けができないがする。
9
- 悩んでます。
10
- 大雑把なコードしかまだ結局書いてません。
11
12
 
12
13
  ### 該当のソースコード
13
14
  ```html
14
- <form action="" id="form">
15
+ <form action="" id="form">
15
16
  <div class="inner">
16
17
  <h1>質問1</h1>
17
- <label for=""><input type="radio" id="qa01_01" name="qa01" value="qa01_01">軽い</samp></label>
18
+ <label for=""><input type="radio" id="qa01_01" name="qa01" value="11111">軽い</samp></label>
18
- <label for=""><input type="radio" id="qa01_02" name="qa01" value="qa01_02">重い</label>
19
+ <label for=""><input type="radio" id="qa01_02" name="qa01" value="01111">重い</label>
19
20
  </div>
20
21
  <div class="inner">
21
22
  <h1>質問2</h1>
22
- <label for="qa02_01"><input type="radio" id="qa02_01" name="qa02" value="qa02_01">大きい</label>
23
+ <label for="qa02_01"><input type="radio" id="qa02_01" name="qa02" value="00101">大きい</label>
23
- <label for="qa02_02"><input type="radio" id="qa02_02" name="qa02" value="qa02_02">小さい</label>
24
+ <label for="qa02_02"><input type="radio" id="qa02_02" name="qa02" value="10000">小さい</label>
24
25
  </div>
25
26
  <div class="inner">
26
27
  <h1>質問3</h1>
27
- <label for="qa03_01"><input type="radio" id="qa03_01" name="qa03" value="qa03_01">硬い</label>
28
+ <label for="qa03_01"><input type="radio" id="qa03_01" name="qa03" value="00011">硬い</label>
28
- <label for="qa03_02"><input type="radio" id="qa03_02" name="qa03" value="qa03_02">柔らかい</label>
29
+ <label for="qa03_02"><input type="radio" id="qa03_02" name="qa03" value="11100">柔らかい</label>
29
- <label for="qa03_03"><input type="radio" id="qa03_03" name="qa03" value="qa03_03">普通</label>
30
+ <label for="qa03_03"><input type="radio" id="qa03_03" name="qa03" value="00011">普通</label>
30
31
  </div>
31
32
  <div class="inner">
32
33
  <h1>質問4</h1>
33
- <label for="qa04_01"><input type="checkbox" id="qa04_01" name="qa04" value="qa04_01"/>赤</label>
34
+ <label for="qa04_01"><input type="checkbox" id="qa04_01" name="qa04" value="01011"/>赤</label>
34
- <label for="qa04_02"><input type="checkbox" id="qa04_02" name="qa04" value="qa04_02"/>青</label>
35
+ <label for="qa04_02"><input type="checkbox" id="qa04_02" name="qa04" value="10001"/>青</label>
35
- <label for="qa04_03"><input type="checkbox" id="qa04_03" name="qa04" value="qa04_03"/>黄色</label>
36
+ <label for="qa04_03"><input type="checkbox" id="qa04_03" name="qa04" value="00010"/>黄色</label>
36
37
  </div>
37
38
  <input type="button" class="btn" value="送信する">
38
39
  </form>
40
+ <div class="itemimg1">item01</div>
41
+ <div class="itemimg2">item02</div>
42
+ <div class="itemimg3">item03</div>
43
+ <div class="itemimg4">item04</div>
44
+ <div class="itemimg5">item05</div>
39
45
  ```
40
46
  ```jQuery
41
- var item = ['商品1' , '商品2' , '商品3' , '商品4' , '商品5'];
47
+ var item = ['商品1' , '商品2' , '商品3' , '商品4' , '商品5'];
48
+ item[0] = $(".itemimg1");
49
+ item[1] = $(".itemimg2");
50
+ item[2] = $(".itemimg3");
51
+ item[3] = $(".itemimg4");
52
+ item[4] = $(".itemimg5");
42
53
 
43
- $('input:radio').change(function() {
54
+ $('input:button').click(function() {
55
+
44
- var qa01 = $('input[name="qa01"]:checked').val();
56
+ var qa01 = $('input[name="qa01"]:checked').val();
45
- var qa02 = $('input[name="qa02"]:checked').val();
57
+ var qa02 = $('input[name="qa02"]:checked').val();
46
- var qa03 = $('input[name="qa03"]:checked').val();
58
+ var qa03 = $('input[name="qa03"]:checked').val();
47
- var qa04 = $('input[name="qa04"]:checked').val();
59
+ var qa04 = $('input[name="qa04"]:checked').val();
60
+
61
+ for (let i = 0; i < 5; i++ ) {
62
+ item[i] = Number(qa01[i]) + Number(qa02[i]) + Number(qa03[i]) + Number(qa04[i]);
63
+ console.log(item[i]);
48
- });
64
+ }
65
+
66
+
67
+ function compareFunc(a, b) {
68
+ return b - a;
69
+ }
70
+ newitem = item.sort(compareFunc);
71
+ console.log(newitem);
49
72
  ```
50
73
 
51
74
  ### 試したこと・調べたこと

2

表画像

2024/06/29 13:30

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,17 +1,13 @@
1
1
  ### 実現したいこと
2
- [フォーム](https://nishi-design.main.jp/test/test.html)
3
- [表](https://nishi-design.main.jp/test/seet.html)
4
2
 
5
- フォームのラジオボタンとチェックボックスを選択していって、表の特定の商品にだけ1ずつ加点していきたい。
3
+ フォームのラジオボタンとチェックボックスを選択してい、表画像ように各商品にだけ0か1ずつ加点していきたい。
4
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-06-29/bafa336e-d58a-4cae-98d4-863ef591dd9a.png)
6
5
 
7
6
  ### 発生している問題・分からないこと
8
7
  そもそも実現はできるものなのか分かりません。
9
8
  今回のパターンではvalueも数字にしてしまうとダメな気もして
10
9
  悩んでます。
11
10
  大雑把なコードしかまだ結局書いてません。
12
-
13
-
14
-
15
11
 
16
12
  ### 該当のソースコード
17
13
  ```html

1

フォームのソース

2024/06/29 05:05

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,33 @@
14
14
 
15
15
 
16
16
  ### 該当のソースコード
17
-
17
+ ```html
18
+ <form action="" id="form">
19
+ <div class="inner">
20
+ <h1>質問1</h1>
21
+ <label for=""><input type="radio" id="qa01_01" name="qa01" value="qa01_01">軽い</samp></label>
22
+ <label for=""><input type="radio" id="qa01_02" name="qa01" value="qa01_02">重い</label>
23
+ </div>
24
+ <div class="inner">
25
+ <h1>質問2</h1>
26
+ <label for="qa02_01"><input type="radio" id="qa02_01" name="qa02" value="qa02_01">大きい</label>
27
+ <label for="qa02_02"><input type="radio" id="qa02_02" name="qa02" value="qa02_02">小さい</label>
28
+ </div>
29
+ <div class="inner">
30
+ <h1>質問3</h1>
31
+ <label for="qa03_01"><input type="radio" id="qa03_01" name="qa03" value="qa03_01">硬い</label>
32
+ <label for="qa03_02"><input type="radio" id="qa03_02" name="qa03" value="qa03_02">柔らかい</label>
33
+ <label for="qa03_03"><input type="radio" id="qa03_03" name="qa03" value="qa03_03">普通</label>
34
+ </div>
35
+ <div class="inner">
36
+ <h1>質問4</h1>
37
+ <label for="qa04_01"><input type="checkbox" id="qa04_01" name="qa04" value="qa04_01"/>赤</label>
38
+ <label for="qa04_02"><input type="checkbox" id="qa04_02" name="qa04" value="qa04_02"/>青</label>
39
+ <label for="qa04_03"><input type="checkbox" id="qa04_03" name="qa04" value="qa04_03"/>黄色</label>
40
+ </div>
41
+ <input type="button" class="btn" value="送信する">
42
+ </form>
43
+ ```
18
44
  ```jQuery
19
45
  var item = ['商品1' , '商品2' , '商品3' , '商品4' , '商品5'];
20
46