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 回答