2012-08-08 105 views
8

我有一個HTML表第一列包含複選框等當用戶點擊一個按鈕時,我想檢查是否有任何複選框已經檢查之後去代碼等後面的代碼。如何統計有多少個複選框已被選中

這就是我卻不斷拋出一個錯誤 「Microsoft JScript運行錯誤:語法錯誤,無法識別的表達式:input.checkbox:檢查」]」

這是我的代碼,我只是想返回實際檢查多少個複選框的計數。

$('#BtnExportToExcel').click(function() { 
      var check = ('#gvPerformanceResult').find('input.checkbox:checked"]').length; 
      alert(check); 
    return false; 
    }): 

感謝您的幫助。

回答

6

你必須在find()功能懸掛支架,試試這個

$('#BtnExportToExcel').click(function() { 
    var check = $('#gvPerformanceResult').find('input[type=checkbox]:checked').length; 
    alert(check); 
    return false; 
}): 

注意,根據您的回答似乎你希望所有複選框在#gvPerformanceResult之內,而不是複選框.checkbox - 使用[type=checkbox]選擇那些複選框

+0

請更正您的代碼中的錯誤(正如Curt在​​他的回答中指出的那樣)。 – BNetz 2017-10-12 11:19:50

17

您的語法無效(開頭沒有$,最後沒有"])。

變化:

('#gvPerformanceResult').find('input.checkbox:checked"]').length; 

要:

$('#gvPerformanceResult').find('input.checkbox:checked').length; 
+0

東西,所以小..... IM驚訝,我甚至過來看了說!謝謝。 – 2012-08-08 08:59:14

+0

@ScottAtkinson很高興有幫助。請標記爲答案,如果這已解決您的問題。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Curt 2012-08-08 09:02:15

+0

此解決方案是否適用於所有瀏覽器,如IE?有時我們沒有時間手動在所有瀏覽器中測試。如果有人已經測試過會更好。 – 2015-05-04 07:47:49

3

想通了

$('#BtnExportToExcel').click(function() { 
       var check = $("input:checkbox:checked").length 
       alert(check); 
}); 

+1

注意:這將是您網頁上的所有複選框。不只是在'#gvPerformanceResult'裏面# – Curt 2012-08-08 08:58:39

+0

看到我的回答,它找到'#gvPerformanceResult'內的所有選中的複選框# – Chris 2012-08-08 08:59:16

+1

你明白了嗎?或者其他答案爲你做了嗎?如果其他人已經充分回答了這個問題,我認爲不應該回答自己的問題。 – musefan 2012-08-08 09:05:41

8
$('input[type="checkbox"]:checked').length; 

這將返回選中的複選框的數量。


限制:

$('#gvPerformanceResult').find('input[type="checkbox"]:checked').length; 
+0

這將返回頁面上所有選中的複選框,而不僅僅是'#gvPerformanceResult' – Curt 2012-08-08 09:01:15

+0

ok,現在它可以處理元素限制。 – 2012-08-08 09:03:15

相關問題