Usar jquery para obtener todas las casillas marcadas con un cierto nombre de clase

Sé que puedo obtener todas las casillas marcadas en una página usando esto:

$('input[type=checkbox]').each(function () { var sThisVal = (this.checked ? $(this).val() : ""); }); 

Pero ahora estoy usando esto en una página que tiene otras casillas de verificación que no quiero incluir. ¿Cómo cambiaría el código anterior para ver solo las casillas marcadas que tienen una determinada clase en ellas?

$('.theClass:checkbox:checked') le dará todas las casillas marcadas con la clase theClass .

 $('input:checkbox.class').each(function () { var sThisVal = (this.checked ? $(this).val() : ""); }); 

Un ejemplo para demostrar.

:checkbox es un selector para casillas de verificación (de hecho, podría omitir la parte de input del selector, aunque encontré nichos de casos en los que obtendría resultados extraños al hacer esto en versiones anteriores de la biblioteca. Estoy seguro de que se corregirán más adelante) versiones). .class es el selector para el atributo de clase de elemento que contiene la class .

Obligatorio. Ejemplo de .map :

 var checkedVals = $('.theClass:checkbox:checked').map(function() { return this.value; }).get(); alert(checkedVals.join(",")); 
 $('input.yourClass:checkbox:checked').each(function () { var sThisVal = $(this).val(); }); 

Esto obtendría todas las casillas de verificación del nombre de clase “yourClass”. Me gusta este ejemplo ya que usa el selector jQuery marcado en lugar de hacer una comprobación condicional. Personalmente, también usaría una matriz para almacenar el valor, luego los usaría según fuera necesario, como:

 var arr = []; $('input.yourClass:checkbox:checked').each(function () { arr.push($(this).val()); }); 

Si necesita obtener el valor de todas las casillas marcadas como una matriz:

 let myArray = (function() { let a = []; $(".checkboxes:checked").each(function() { a.push(this.value); }); return a; })() 
  $('input.myclass[type=checkbox]').each(function () { var sThisVal = (this.checked ? $(this).val() : ""); }); 

Ver selectores de clase jQuery .

  $('input.theclass[type=checkbox]').each(function () { var sThisVal = (this.checked ? $(this).val() : ""); }); 

No estoy seguro de si es útil para su caso particular, y no estoy seguro si en su caso, las casillas de verificación que desea incluir solo son parte de un solo formulario o div o tabla, pero siempre puede seleccionar todas las casillas de verificación. dentro de un elemento específico. Por ejemplo:

 

Luego, usando la siguiente jQuery, SÓLO pasa por las casillas dentro de esa UL con id = “selectivo”:

 $('#selective input:checkbox').each(function () { var sThisVal = (this.checked ? $(this).val() : ""); }); 

Sé que esto tiene un montón de excelentes respuestas sobre esta cuestión, pero encontré esto mientras navego y me resulta muy fácil de usar. Pensé que lo compartiría para cualquier otra persona que lo mire.

HTML:

 
Check all
Checkbox
Checkbox
Checkbox
Checkbox
Checkbox
Checkbox

jQuery:

 $(function () { $('.checkall').on('click', function () { $(this).closest('fieldset').find(':checkbox').prop('checked', this.checked); }); }); 

Referencia: más fácil “Verificar todo” con jQuery

        

http://www.jqueryfaqs.com/Articles/Get-values-of-all-checked-checkboxes-by-class-name-using-jQuery.aspx

Puedes usar algo como esto:
HTML:

 

JQuery:

 $(".yourClass:checkbox").filter(":checked") 

Elegirá valores de 1 y 3.

Manera simple de obtener todos los valores en una matriz

 var valores = (function () { var valor = []; $('input.className[type=checkbox]').each(function () { if (this.checked) valor.push($(this).val()); }); return valor; })(); console.log(valores);