2012-06-29 54 views
1

我有一系列問題單選按鈕。每個組是 相同的5個值,所以用戶不會看到模式。JQuery測驗:從答案組中計數重複值的數量?

當用戶點擊一個按鈕,我想先得到各 組的值(我想我知道如何與 $('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個項目中的每個項目的次數,看看哪個項目被選擇得最多,如在「你是一個浪漫的人」中。

我希望這是顯而易見的。

+0

略微不同的方式去它:http://jsfiddle.net/pbysh/u8FQX/ –

回答

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); 
+0

'功能(A,B){返回a.sum - b.sum}'就足夠了,我想。 ) – raina77ow

+0

@biziclop謝謝,但由於某種原因失敗,當我嘗試它,想知道我搞砸了看到[http://jsfiddle.net/smlombardi/ndCsa/3/](http://jsfiddle.net/smlombardi/ndcsa/3 /)**修正** **編輯**:我發現我搞砸了。謝謝。 – Steve

+0

好的,同時在每個單選按鈕+它的標籤周圍添加'