JQuery Iterovat Všechny políčka jsou zaškrtnutá a odstranit třídu

hlasů
6

Já jsem v současné době pomocí jQuery a rád by nějakou pomoc na iterace všech „kontrolovaných“ zaškrtávací políčko a odstranit třídu (nazývanou „new_message“) v řádku nadřazené tabulky.

Mám základní koncept, ale nemohu zcela pochopit celou věc ven.

Zde je to, co jsem v současné době používají:

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

Nakonec to bude aktualizace databáze, stejně tak v případě, že kód může být navrženy tak, aby ubytovat oba, to by bylo skvělé.

Jakékoli vysvětlení je ceněn!

Položena 21/07/2009 v 23:24
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

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

odstraní příslušnou třídu z políček sami, takže

$(this).parent....

by měl fungovat v závislosti na tom, co vaše HTML vypadá

Odpovězeno 21/07/2009 v 23:30
zdroj uživatelem

hlasů
6

Myslím, že to bude fungovat:

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

Nebo jestli je to jen přímé TR rodič chcete, aby odpovídaly, pak je tento:

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

jQuery dělá všechnu smyčkování pro vás, takže byste měli mít všechny each () es.

Jakmile budete používat ‚: kontroluje‘ voliče, měli byste mít na překontrolovat, zda je zaškrtnuta položka. To by mělo omezit své výsledky voliče pouze kontrolovaných položek.

Odpovězeno 21/07/2009 v 23:30
zdroj uživatelem

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