1

一連の質問、ラジオボタンを含むフォームがあります。各グループは同じ 5 つの値であり、順序が乱れているため、ユーザーはパターンを認識できません。

ユーザーがボタンをクリックすると、最初に各グループの値を取得し (これは で行う方法を知っていると思います $('input:radio[name=bar]:checked').val();)、次に各文字列の合計数を確認します。

このサンプルの質問のように:

<input type="radio" name="q1" value="loner">
<input type="radio" name="q1" value="partier"
<input type="radio" name="q1" value="clueless">
<input type="radio" name="q1" value="romantic">
<input type="radio" name="q1" value="pragmatic">

そのため、おそらく 10 ~ 20 の質問と回答があり、これらの (ここで作成された) 値にマップされます。最後に、ユーザーはボタンをクリックし、5 つの用語のそれぞれが選択された回数を合計する必要があります。「あなたはロマンチックです」のように、どれが最も多く選択されたかを確認します。

これが明確であることを願っています。

4

1 に答える 1

1

例:

http://jsfiddle.net/mM7X4/

var values = ['loner','partier','clueless','romantic','pragmatic'];
var result = [];

$.each( values, function( i, value){
  result.push({
    value: value,
    sum: $('input:radio[value='+value+']:checked').length;
  });
});

result.sort( function( a,b){
  if( a.sum < a.sum ) return +1;
  if( a.sum > a.sum ) return -1;
  return 0;
});

alert('You are a '+result[0].value );
于 2012-06-29T17:30:44.733 に答える