Jquery Iterate Gjennom alle sjekket esker og Remove Class

stemmer
6

Jeg er for tiden bruker jQuery og ønsker litt hjelp på gjentakelse gjennom alle sjekket boksene og ta en klasse (kalt new_message) av den overordnede tabellen rad.

Jeg har en grunnleggende konseptet, men jeg kan ikke helt finne hele greia ut.

Her er hva jeg bruker:

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

Etter hvert vil dette være å oppdatere en database også, så hvis koden kan skreddersys for å imøtekomme begge, det ville være flott.

Noen veiledning er mye verdsatt!

Publisert på 21/07/2009 klokken 22:24
kilden bruker
På andre språk...                            


2 svar

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

vil fjerne den aktuelle klassen fra boksene selv, så

$(this).parent....

bør arbeide avhengig av hva HTML ser ut

Svarte 21/07/2009 kl. 22:30
kilden bruker

stemmer
6

Jeg tror dette vil fungere:

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

Eller hvis det er bare den direkte TR forelder du ønsker å matche, så dette:

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

jQuery gjør alt looping for deg slik at du skal slippe å ha alle hver () es.

Når du bruker ': merket' velgeren, bør du ha sjekker hvis elementet er merket. Dette bør begrense velger resultater å bare sjekket elementer.

Svarte 21/07/2009 kl. 22:30
kilden bruker

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