
ラジオボタンを使って参考サイトのような診断テストを作りたいと思っています。
【参考サイト】
http://cgi.geocities.jp/socialpsychotan/test/shi …
ただ少し違うのが、あらかじめユーザーに
あなたが思う自分自身の人間力は?
「 」点
といったように数値を入力させ、診断結果とユーザー入力の数値を掛け合わせた
点数を表示する仕組みにしたいと考えています。
診断テストは全部で20問程度用意し、それぞれの質問に点数を仕込み
100点~80点ならユーザーが入力した数値×1.5
79点~60点ならユーザーが入力した数値×1.3
といったように表示させたいです。
下記のようなサイトを参考に、
http://jsfiddle.net/Tenderfeel/PFRCQ/
ラジオボタンのチェックで異なる答えを表示することはできるのですが
診断結果により数値を変動させる仕組みがわかりません。
お手数ですがご教授いただけないでしょうか。
よろしくお願いします。

No.2ベストアンサー
- 回答日時:
シンプルに作るとこんな感じですかね
<body>
<script>
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);
}
}
</script>
点数は?<input type="text" id="inputPoint" />
<fieldset>
<legend>質問1</legend>
<label><input type="radio" name="c1" value="10" /> はい</label>
<label><input type="radio" name="c1" value="5" /> どちらでもない</label>
<label><input type="radio" name="c1" value="1" /> いいえ</label>
</fieldset>
<fieldset>
<legend>質問2</legend>
<label><input type="radio" name="c2" value="10" /> はい</label>
<label><input type="radio" name="c2" value="5" /> どちらでもない</label>
<label><input type="radio" name="c2" value="1" /> いいえ</label>
</fieldset>
<fieldset>
<legend>質問3</legend>
<label><input type="radio" name="c3" value="10" /> はい</label>
<label><input type="radio" name="c3" value="5" /> どちらでもない</label>
<label><input type="radio" name="c3" value="1" /> いいえ</label>
</fieldset>
<button id="check" onclick="calculate()" >診断</button>
計算結果<input type="text" id="calculateTotal"/>
</body>
DoubtOwl様
再度ご丁寧に記述いただきありがとうございました。
おかげ様で思い通りの仕組みを作ることができました!
記述内容理解しながら進めていけるよう勉強を続けます。
ありがとうございました。
No.1
- 回答日時:
//入力数値を取得
var inputPointString = $("#inputPoint").val();
//文字列で取得しているので数値に変換
var inputPoint = parseInt(inputPointString);
合計値はとれているようなので判定するだけですね
var calculateTotal = 0;
if(total >= 80){
calculateTotal = inputPoint* 1.5;
}
if(79 >= total && total >= 60){
calculateTotal = inputPoint* 1.3;
}
if(59 >= total && total >= 40){
calculateTotal = inputPoint* 1.3;
}
...
DoubtOwl様
早々のご回答ありがとうございます。
お答えいただいたところ申し訳ないのですが、
書いてある内容についてはなんとなく理解できるのですが
実際それをどのように組み込めばいいのかがわかりません…。
お手数おかけしますがHTMLへの組み込み例も記載いただけないでしょうか。
何卒よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
javascriptによる動的なリンク...
-
チェックボックスのON/OFFに連...
-
データベースの値を判断してラ...
-
ラジオボタンとif文
-
サイト内の物件を複数の検索条...
-
ボタン無しでフォーム内容送信
-
return trueとreturn falseの用...
-
selectメニューのselectedの位...
-
プルダウン 項目が多いので先頭...
-
<input>の選択肢をプルダウンメ...
-
JAVASCRIPT
-
slickのレスポンシブ > center...
-
ブラウザの戻るボタンを押した...
-
Webブラウザにてページのりロー...
-
Selectボックスの幅を自動で広...
-
クリックごとに文字色が交互に...
-
クリックされた罫表セルの行番...
-
javascript による POST 送信時...
-
html selectの内容を初期値に戻す
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
javascript作成してます。ラジ...
-
Javascriptを使って動的にラジ...
-
ラジオボタンでdisabledとchecked
-
ラジオボタンのチェックが外れ...
-
CGI.pmでラジオボタンを思い通...
-
リセットボタンでクリアできな...
-
文字列を表示/非表示させつつ、...
-
データベースの値を判断してラ...
-
ラジオボタンのValueを受け取り...
-
ログ入力支援ツールの作成方法
-
ラジオボタンの選択によってチ...
-
ラジオボタンとif文
-
2項目計算って可能でしょうか?
-
ラジオボタンのチェック数に応...
-
JavaScript フォームでのラジオ...
-
Formのラジオボタンリセット方法
-
チェックボックス とラジオボ...
-
ラジオボタンを使って、検索ペ...
-
【javascript】firefoxでの、al...
おすすめ情報