質問編集履歴
3
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -374,7 +374,11 @@
|
|
374
374
|
|
375
375
|
|
376
376
|
|
377
|
-
抽出できた結果の中から、resultの内容を取得できればと思
|
377
|
+
抽出できた結果の中から、resultの内容を取得できればと思い、
|
378
|
+
|
379
|
+
var r = $("filtered").val("result");
|
380
|
+
|
381
|
+
という書き方をしましたが、取得ができていないのが現状です。
|
378
382
|
|
379
383
|
オブジェクトの中の特定の要素のみを取り出す方法が分かればと思うのですが、どなたかアドバイス頂けたらと思います。
|
380
384
|
|
2
追記日の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -258,7 +258,7 @@
|
|
258
258
|
|
259
259
|
|
260
260
|
|
261
|
-
### 追記
|
261
|
+
### 追記(2021/04/18)
|
262
262
|
|
263
263
|
下記の様に、コードを修正しました。
|
264
264
|
|
1
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -255,3 +255,127 @@
|
|
255
255
|
rails (5.2.4.5)
|
256
256
|
|
257
257
|
jquery-rails (4.4.0)
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
### 追記
|
262
|
+
|
263
|
+
下記の様に、コードを修正しました。
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
```jquery
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
$(function(){
|
272
|
+
|
273
|
+
//一度結果を非表示にする
|
274
|
+
|
275
|
+
$(".result, .results").hide();
|
276
|
+
|
277
|
+
//ボタンがクリックされた時
|
278
|
+
|
279
|
+
$("button").on("click", function(){
|
280
|
+
|
281
|
+
//一度結果を非表示にする
|
282
|
+
|
283
|
+
$(".result, .results").hide();
|
284
|
+
|
285
|
+
//問題数を取得
|
286
|
+
|
287
|
+
var qNum = $("ul.questions li").length;
|
288
|
+
|
289
|
+
if( $("ul.questions li input:checked").length < qNum ){
|
290
|
+
|
291
|
+
//全てチェックしていなかったらアラートを出す
|
292
|
+
|
293
|
+
alert("未回答の質問があります");
|
294
|
+
|
295
|
+
}
|
296
|
+
|
297
|
+
else {
|
298
|
+
|
299
|
+
//チェックされているinputの数を取得
|
300
|
+
|
301
|
+
var typeANum = $(".左上:checked").length,
|
302
|
+
|
303
|
+
typeBNum = $(".右上:checked").length,
|
304
|
+
|
305
|
+
typeCNum = $(".左側:checked").length,
|
306
|
+
|
307
|
+
typeDNum = $(".右側:checked").length,
|
308
|
+
|
309
|
+
typeENum = $(".左下:checked").length,
|
310
|
+
|
311
|
+
typeFNum = $(".右下:checked").length,
|
312
|
+
|
313
|
+
typeGNum = $(".輻輳開散:checked").length;
|
314
|
+
|
315
|
+
var a = [typeANum, typeBNum, typeCNum, typeDNum, typeENum, typeFNum, typeGNum];
|
316
|
+
|
317
|
+
var max = Math.max.apply(null, a);
|
318
|
+
|
319
|
+
var eyes = [
|
320
|
+
|
321
|
+
{ type: "A", Num: typeANum, result: ".左上(結果)" },
|
322
|
+
|
323
|
+
{ type: "B", Num: typeBNum, result: ".右上(結果)" },
|
324
|
+
|
325
|
+
{ type: "C", Num: typeCNum, result: ".左側(結果)" },
|
326
|
+
|
327
|
+
{ type: "D", Num: typeDNum, result: ".右側(結果)" },
|
328
|
+
|
329
|
+
{ type: "E", Num: typeENum, result: ".左下(結果)" },
|
330
|
+
|
331
|
+
{ type: "F", Num: typeFNum, result: ".右下(結果)" },
|
332
|
+
|
333
|
+
{ type: "G", Num: typeGNum, result: ".輻輳開散(結果)" },
|
334
|
+
|
335
|
+
];
|
336
|
+
|
337
|
+
|
338
|
+
|
339
|
+
var filtered = $.grep(eyes,
|
340
|
+
|
341
|
+
function(element, index) {
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
return (element.Num >= max);
|
346
|
+
|
347
|
+
}
|
348
|
+
|
349
|
+
);
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
console.log(filtered);
|
354
|
+
|
355
|
+
var r = $("filtered").val("result");
|
356
|
+
|
357
|
+
$("r,.results").fadeIn();
|
358
|
+
|
359
|
+
}
|
360
|
+
|
361
|
+
});
|
362
|
+
|
363
|
+
});
|
364
|
+
|
365
|
+
```
|
366
|
+
|
367
|
+
最大値を取得し、オブジェクトも作成してtypeとresultが紐づくようにしました。
|
368
|
+
|
369
|
+
そして最大値とオブジェクトのNumが同数のものを抽出するようにして、YESが一番多いオブジェクトの抽出までは出来ました。(写真はtypeAのYESが一番多かった時のconsole.log(filtered);の結果です)
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
![イメージ説明](b9ab8640fd1208a695dc76451e6beb2a.png)
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
抽出できた結果の中から、resultの内容を取得できればと思うのですが、その方法が現状分からない状況です。
|
378
|
+
|
379
|
+
オブジェクトの中の特定の要素のみを取り出す方法が分かればと思うのですが、どなたかアドバイス頂けたらと思います。
|
380
|
+
|
381
|
+
よろしくお願いいたします。
|