JQuery durchlaufen alle markierten Kästen und entfernen Klasse

stimmen
6

Ich bin derzeit mit jQuery und würde etwas Hilfe auf durch all „geprüft“ Kontrollkästchen Iterieren und entfernen Sie eine Klasse von der übergeordneten Tabellenzeile ( „new_message“ genannt).

Ich habe ein grundlegendes Konzept bekam, aber ich kann nicht ganz die ganze Sache herauszufinden.

Hier ist, was ich bin zur Zeit mit:

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

Letztendlich wird dies auch eine Datenbank aktualisieren werden, so dass, wenn der Code angepasst werden kann sowohl zu empfangen, das wäre toll.

Jede Führung ist sehr willkommen!

Veröffentlicht am 21/07/2009 um 23:24
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

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

wird die entsprechende Klasse aus dem Kontrollkästchen selbst entfernen, so

$(this).parent....

funktionieren sollte je nachdem, was Ihre HTML aussieht

Beantwortet am 21/07/2009 um 23:30
quelle vom benutzer

stimmen
6

Ich denke, dass dies funktionieren wird:

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

Oder wenn es nur der direkte TR Elternteil Sie passen wollen, dann diese:

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

jQuery macht die ganze Looping für Sie, damit Sie sollten alle each () es haben müssen.

Sobald Sie die verwenden ‚: checked‘ Selektor, sollten Sie noch einmal zu überprüfen, wenn das Element aktiviert ist. Dies sollte Ihre Wähler Ergebnisse nur markierte Objekte begrenzen.

Beantwortet am 21/07/2009 um 23:30
quelle vom benutzer

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