質問: 【診断テストの作り方】結果に応じて数字を変動させる ラジオボタンを使って参考サイトのような診断テストを作りたいと思っています。 【参考サイト】 http://cgi.geocities.jp/socialpsychotan/test/shindan.php ただ少し違うのが、あらかじめユーザーに あなたが思う自分自身の人間力は? 「 」点 といったように数値を入力させ、診断結果とユーザー入力の数値を掛け合わせた 点数を表示する仕組みにしたいと考えています。 診断テストは全部で20問程度用意し、それぞれの質問に点数を仕込み 100点~80点ならユーザーが入力した数値×1.5 79点~60点ならユーザーが入力した数値×1.3 といったように表示させたいです。 下記のようなサイトを参考に、 http://jsfiddle.net/tenderfeel/pfrcq/ ラジオボタンのチェックで異なる答えを表示することはできるのですが 診断結果により数値を変動させる仕組みがわかりません。 お手数ですがご教授いただけないでしょうか。 よろしくお願いします。
回答: シンプルに作るとこんな感じですかね function getchecktotal(){ $radio = $(':radio'); var total = 0; $radio.filter(':checked').map(function(){ total += number(this.value); }); return total; } function calculate(){ //入力数値を取得 var inputpointstring = $("#inputpoint").val(); //文字列で取得しているので数値に変換 var inputpoint = parseint(inputpointstring); var checktotal = getchecktotal(); var calculatetotal = 0; if(checktotal >= 80){ calculatetotal = inputpoint* 1.5; } if(79 >= checktotal && checktotal >= 60){ calculatetotal = inputpoint* 1.3; } if(59 >= checktotal && checktotal >= 40){ calculatetotal = inputpoint* 1.3; } if(39 >= checktotal){ calculatetotal = inputpoint; } if(isnan(calculatetotal)){ $("#calculatetotal").val("未選択の項目があります"); } else{ $("#calculatetotal").val(calculatetotal); } } 点数は? 質問1 はい どちらでもない いいえ 質問2 はい どちらでもない いいえ 質問3 はい どちらでもない いいえ 診断 計算結果