【问题标题】:JQuery quiz: count the number of repeat value from group of answers?JQuery quiz:计算一组答案中重复值的数量?
【发布时间】:2012-06-29 17:28:25
【问题描述】:

我有一个包含一系列问题和单选按钮的表单。每组是 相同的 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 个词条中的每一个词条被选中的次数加起来,看看哪个词条被选中的次数最多,如“你是个浪漫主义者”。

我希望这很清楚。

【问题讨论】:

标签: jquery arrays forms radio-button


【解决方案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 );

【讨论】:

  • 我想 function (a, b) { return a.sum - b.sum } 就足够了。 )
  • @biziclop 谢谢,但由于某种原因在我尝试时失败了,想知道我搞砸了什么见http://jsfiddle.net/smlombardi/ndCsa/3/ fixed EDIT:我发现我搞砸了什么。谢谢。
  • 好的,同时在每个单选按钮及其标签周围添加&lt;label&gt; :)
  • 您没有更改按钮的事件绑定:$(document).on('click','#calcbtn',function(){ 固定版本:jsfiddle.net/ndCsa/4
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-21
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多