2012-08-08 15 views
8

Ho una prima tabella HTML composta da caselle di controllo ecc. Quando l'utente fa clic su un pulsante voglio controllare se una delle caselle di controllo è stata verificata prima di andare al codice dietro ecc. .Come contare quante caselle di controllo sono state verificate

Questo è quello che ho, ma mantiene gettando un errore "Microsoft JScript errore di runtime: errore di sintassi, l'espressione non riconosciuta: input.checkbox: checked"]"

Questo è il mio codice voglio solo tornare il conteggio di quante caselle di controllo sono effettivamente verificate

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

Grazie per il tuo aiuto.

risposta

6

Si hanno una staffa penzoloni nella funzione find(), provate questo

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

nota, in base alla risposta vi pare desidera TUTTE le caselle di controllo all'interno di #gvPerformanceResult e non caselle di controllo con la classe .checkbox - utilizzare [type=checkbox] per selezionare quelle caselle

+0

Si prega di correggere gli errori nel codice (come Curt ha sottolineato nella sua risposta). – BNetz

17

Sintassi non valida (n. $ all'inizio e "] alla fine).

Cambio:

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

A:

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

qualcosa di così piccolo ..... im sorpreso ho anche guardato oltre che !! grazie comunque. –

+0

@ScottAtkinson Felice di aver aiutato. Per favore segna come risposta se questo ha risolto il tuo problema. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Curt

+0

Questa soluzione funziona su tutti i browser come IE? A volte non abbiamo il tempo di testare manualmente tutti i browser. Sarebbe meglio se qualcuno lo avesse già provato. –

3

capito

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

+1

Nota: saranno tutte caselle di controllo sulla tua pagina. Non solo all'interno di '# gvPerformanceResult' – Curt

+0

Vedere la mia risposta, troverà tutte le caselle di controllo selezionate all'interno di # # gvPerformanceResult' – Chris

+1

Hai capito? O le altre risposte l'hanno fatto per te? Non penso sia appropriato postare una risposta alla tua stessa domanda quando è già stata sufficientemente fornita da tutti gli altri. – musefan

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

Ciò restituirà il numero di casella di controllo selezionata.


Limitare:

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

Ciò restituirà tutte le caselle di controllo selezionate nella pagina, non solo in '# gvPerformanceResult' – Curt

+0

ok, ora funziona sulla limitazione degli elementi. –

Problemi correlati