2012-05-01 30 views
3

我在頁面上有一個窗體,並且在窗體中,表中的每一行都會有一個複選框。我需要計算具有已檢查行的行數,但即使從jQuery中選擇該行,也遇到了麻煩。使用jQuery查找並計算選中的框的數量

這裏是我的代碼看起來像一個複選框:

<input type="checkbox" id="onHomePage_56" name="onHomePage" 
    value="56" checked="checked"> 

未經檢查框不檢查=「檢查」。

+0

什麼都有你t裏德?你有沒有嘗試檢查文檔? http://api.jquery.com/category/selectors/ – Madbreaks

+0

Ahh只是缺少輸入和檢查之間的冒號 – ediblecode

回答

7
var q = $('form#id-of-form').find('input:checked').length; 

http://api.jquery.com/checked-selector/

如果在你不想計算的形式複選框,然後添加類那些你要計算,並選擇那些來代替:

var q = $('form#id-of-form').find('input.count-these:checked').length; 
2

jQuery提供特殊選擇爲這樣:

$('input:checked').length 

更具體地:

var num = $('#myform input:checkbox:checked').length; 

我添加了jQuery :checkbox選擇因爲:checked適用於單選按鈕,以及。從技術上講,:checkbox慢於[type=checkbox]在現代瀏覽器,但他們做同樣的事情:

var num = $('#myform input[type=checkbox]:checked').length; 
1

你可以試試這個:

$('#form input:checkbox:checked').length; 
-1
$('#myForm table tr td input:checked')​.size();​ 

DEMO.

更新:更好的過濾type,因爲你可能已經檢查單選按鈕太

$('#myForm table tr td input[type="checkbox"]:checked').size(); 

Demo with checked radio buttons

相關問題