2011-08-12 123 views

回答

2
$('input[type="checkbox"][name$="GroupOne"]:checked').length 

如果沒有選擇任何選項,則此代碼的結果爲0;如果選擇了1-3,則此代碼的結果爲1至3之間的任何數字。

Working jsFiddle Example

+0

嘿很酷,不知道jsFiddle! – sl3dg3

-1

你可以在jquery中使用:checked選擇器。 在http://api.jquery.com/checked-selector/

+0

不回答原來的問題。 –

+0

是啊,如果你想準備好去解決它不符合你的標準。但是如果你有大腦使用':checked'這是正確的。有這麼懶惰的人......關心。 – h4cky

+0

最初的問題是從一組特定的元素**中選擇**,使用':checked'是很容易的部分。 –

1
$("input:checkbox[name*=GroupOne]:checked").length 

如果長度的更多信息,大於零多於一個的被選中。

http://jsfiddle.net/ipr101/e78hH/

編輯

應保證GroupOne只出現在結尾 - 例如工作在撥弄不帶引號一輪 'GroupOne' -

$("#bt").click(function() { 
    alert($("input:checkbox[name*=GroupOne]:checked").filter(function() { 
     return $(this).attr('name').substring($(this).attr('name').length, $(this).attr('name').length - 8) == 'GroupOne' 
    }).length) 
}); 

以上是矯枉過正 - 沒有知道'$ ='選擇器!每天都是上學日!應該是 -

$("#bt").click(function() { 
    alert($("input:checkbox[name$=GroupOne]:checked").length) 
}); 
+0

關閉,但不會工作,因爲你錯過了圍繞'GroupOne'的''''也會檢測到GroupOne,如果它位於名稱的中間。 –

+0

**這不是方法!! **你應該使用'$ ='選擇器。更正你的代碼,我將刪除-1;) –

0

選擇它們是一樣簡單:

$("input[name*="GroupOne"]:checked") 

然後驗證......那種取決於你想與他們做什麼...

+0

'* ='從開始,'$ ='在我的情況下是正確的。 – sl3dg3

+0

如果還有一個單選按鈕會怎麼樣? –

+0

@ sl3dg3'* ='是「包含」。 '^ ='是從「開始」。看到我的答案。 –

0

哎你輸入THX:一些擺弄我結束了這一點,它類似於您的解決方案:

if ($(':checkbox[name$="GroupOne"]:checked').size() == 0) { // bad... } 
+0

請確保接受正確答案以關閉此問題。 –

+0

是的,別擔心...... :) – sl3dg3

相關問題