ラジオボタンを使って、それぞれ選択肢にvalue値に点数を設定しております。
【arrayAbilityの配列出力ボタン】(Q1〜Q3迄)、
【arrayMindの配列出力ボタン】(Q4〜Q6迄) を発火点として、
区切り毎に取得点数を空の配列にセットしたく、下記コードを設定したのですが、
仮引数のつもりで設定したarrayAddに、実引数の'.ability'、'.mind'
が代入されてしまい、上手く行きません。
html
1 <div class="radio-wrapper"> 2 <section class="radio-inner-wrapper container"> 3 <h2>classnameはability?</h2> 4 <fieldset> 5 <div class="question">Q1?</div> 6 <label><input type="radio" class="ability" name="Q1" value="5">はい</label> 7 <label><input type="radio" class="ability" name="Q1" value="3">は?</label> 8 <label><input type="radio" class="ability" name="Q1" value="2">い?</label> 9 <label><input type="radio" class="ability" name="Q1" value="0">いいえ</label> 10 </fieldset> 11 12 <fieldset> 13 <div class="question">Q2?</div> 14 <label><input type="radio" class="ability" name="Q2" value="5">はい</label> 15 <label><input type="radio" class="ability" name="Q2" value="3">は?</label> 16 <label><input type="radio" class="ability" name="Q2" value="2">い?</label> 17 <label><input type="radio" class="ability" name="Q2" value="0">いいえ</label> 18 </fieldset> 19 20 <fieldset> 21 <div class="question">Q3?</div> 22 <label><input type="radio" class="ability" name="Q3" value="5">はい</label> 23 <label><input type="radio" class="ability" name="Q3" value="3">は?</label> 24 <label><input type="radio" class="ability" name="Q3" value="2">い?</label> 25 <label><input type="radio" class="ability" name="Q3" value="0">いいえ</label> 26 </fieldset> 27 28 <div id="doneAbility" class="btn">【arrayAbilityの配列出力ボタン】</div> 29 30 </section> 31 32 <section class="radio-inner-wrapper container"> 33 <h2>classnameはmind?</h2> 34 35 <fieldset> 36 <div class="question">Q4?</div> 37 <label><input type="radio" class="mind" name="Q4" value="5">はい</label> 38 <label><input type="radio" class="mind" name="Q4" value="3">は?</label> 39 <label><input type="radio" class="mind" name="Q4" value="2">い?</label> 40 <label><input type="radio" class="mind" name="Q4" value="0">いいえ</label> 41 </fieldset> 42 43 <fieldset> 44 <div class="question">Q5?</div> 45 <label><input type="radio" class="mind" name="Q5" value="5">はい</label> 46 <label><input type="radio" class="mind" name="Q5" value="3">は?</label> 47 <label><input type="radio" class="mind" name="Q5" value="2">い?</label> 48 <label><input type="radio" class="mind" name="Q5" value="0">いいえ</label> 49 </fieldset> 50 51 <fieldset> 52 <div class="question">Q6?</div> 53 <label><input type="radio" class="mind" name="Q6" value="5">はい</label> 54 <label><input type="radio" class="mind" name="Q6" value="3">は?</label> 55 <label><input type="radio" class="mind" name="Q6" value="2">い?</label> 56 <label><input type="radio" class="mind" name="Q6" value="0">いいえ</label> 57 </fieldset> 58 59 <div id="doneMind" class="btn">【arrayMindの配列出力ボタン】</div> 60 61 </section> 62 63 64 <div class="container"> 65 <table> 66 <thead> 67 <tr> 68 <th>Q1-Q3のvalue合計</th> 69 <th>Q4-Q6のvalue合計</th> 70 <th>総合計</th> 71 </tr> 72 </thead> 73 <tbody> 74 <tr> 75 <td id="abilityTotal">00点</td> 76 <td id="mindTotal">00点</td> 77 <td id="groundTotal">00点</td> 78 </tr> 79 </tbody> 80 </table> 81 </div> 82 83
JavaScript
1 //○○○○○○○○○○○○○ 集計始め ○○○○○○○○○○○○○ 2 window.addEventListener('DOMContentLoaded', () => { 3 4 const doneAbility = document.getElementById('doneAbility'); 5 const doneMind = document.getElementById('doneMind'); 6 7 8 let arrayAbility = []; 9 let arrayMind = []; 10 11 12 function getRadioValue(name, arrayAdd) { 13 name = document.querySelectorAll(name); 14 arrayAdd = []; 15 for (let i = 0; i < name.length; i++) { 16 if (name[i].checked) { 17 arrayAdd.push(name[i].value); 18 } 19 } 20 console.log(arrayAdd); 21 } 22 23 24 //***** Q1 - Q3 (arrayAbility) ***** 25 doneAbility.addEventListener('click', () => { 26 getRadioValue('.ability', 'arrayAbility'); 27 28 console.log(arrayAbility); 29 30 //***** 終了 ***** 31 }); 32 33 34 //***** Q4 - Q6 (arrayMind) ***** 35 doneMind.addEventListener('click', () => { 36 getRadioValue('.mind', 'arrayMind'); 37 38 console.log(arrayMind); 39 40 //***** 終了 ***** 41 }); 42 43 //○○○○○○○○○○○○○ 集計終り ○○○○○○○○○○○○○ 44 }); 45
大変恐縮ですが、仮引数であるarrayAddではなく、実引数arrayAbility, arrayMindにvalueをpushするにはどうすれば良いか教えてもらえると助かります。
どうぞよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー