Jquery Iterar a través de todas las casillas marcadas y eliminar clase

votos
6

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

Tengo un concepto básico, pero no puedo entender todo.

Esto es lo que estoy usando actualmente:

$(#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);
        }
    );
  });  
});

Eventualmente, esto también actualizará una base de datos, de modo que si el código se puede adaptar para acomodar ambos, sería genial.

Cualquier orientación es muy apreciada!

Publicado el 21/07/2009 a las 23:24
fuente por usuario
En otros idiomas...                            


2 respuestas

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

eliminará la clase relevante de las casillas de verificación, por lo que

$(this).parent....

debería funcionar dependiendo de cómo se vea tu HTML

Respondida el 21/07/2009 a las 23:30
fuente por usuario

votos
6

Creo que esto funcionará

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

O si solo es el padre TR directo con el que desea concordar, entonces esto:

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

jQuery hace todo el looping para ti, así que deberías tener todos los each () 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.

Respondida el 21/07/2009 a las 23:30
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more