2009-07-21 39 views
6

Actualmente estoy usando jQuery y me gustaría obtener ayuda para recorrer todas las casillas de verificación y eliminar una clase (llamada "nuevo_mensaje") de la fila de la tabla padre.Jquery Iterar a través de todas las casillas marcadas y Eliminar clase

Tengo un concepto básico, pero no puedo entenderlo por completo.

Esto es lo que actualmente estoy usando:

$("#unread_button").click(function (event) { 
event.preventDefault; 
$(":checkbox:checked").each( 
function() 
{ 
    if (this.checked) 
    { 
     var divs = $.makeArray($(this).parents("tr").attr("id")); 
    } 
$(divs).each(
    function(int) 
     { 
      $(this).removeClass("new_message"); 
     } 
    ); 
    }); 
}); 

el tiempo, esto va a actualizar una base de datos, así que si el código puede ser adaptado para acomodar tanto, sería genial.

¡Cualquier orientación es muy apreciada!

+0

puede mostrar su marca. – redsquare

Respuesta

6

Creo que esto va a funcionar:

$('input:checkbox:checked').parents('tr').removeClass('new_message'); 

O si solo es el padre TR directo con el que desea hacer coincidir, entonces este:

$('input:checkbox:checked').closest('tr').removeClass('new_message'); 

jQuery hace todos los bucles por usted, así que debería tener todos los (cada) es.

Una vez que use el selector ': checked', deberá volver a verificar si el elemento está marcado. Esto debería limitar los resultados de su selector a solo los elementos marcados.

+0

Usaría .closest ya que los padres obtienen todos los antepasados ​​y luego los filtros - más lento – redsquare

+0

Pensé en eso, pero el OP no especificó si era solo el padre de TR de primer nivel o si había varios. Y dado que sonaba como si el selector actual estuviera funcionando, no quería cambiarlo. – MacAnthony

+0

Eso fue todo. Gracias. También utilicé .closest, que funciona igual de bien. –

4
$("input:checked").each(function() { 
    $(this).removeClass("new_message"); 
} 

eliminará la clase correspondiente de los propios casillas de verificación, por lo

$(this).parent.... 

deben trabajar en función de lo que el código HTML se parece a

Cuestiones relacionadas