Autor Zpráva
Trsak
Profil
Zdravím,
s JavaScriptem/JQuery moc nepracuji, jenomže nyní potřebuji zařídit jednu věc:
Uživatel zaškrkne checkbutton s id třeba "check_1". Jak zařídít, třeba pomocí cookies, aby byl checkbox zaškrknutý i po znovuotevření stránky?


Tak nakonec se mi to podařilo nějak splácat dohromady, pro ty co by hledali:
<script src="jquery.cookie.js"></script>
<script type="text/javascript">
$(document).ready( function(){
   // read the current/previous setting
    $("input.bbcode[type=checkbox]").each(function() {
        var id = $(this).attr(\'id\');
        if ($.cookie(id) && $.cookie(id) == "true") {
            $(this).prop(\'checked\', $.cookie(id));
        }
    });
   // event management
    $("input.bbcode[type=checkbox]").change(function() {
        var id = $(this).attr("id");
        $.cookie(id, $(this).prop(\'checked\'), {
            path: \'/\',
            expires: 365
        });
    });
});
</script> 
Chamurappi
Profil
Reaguji na Trsaka:
Nevím, jak funguje jquery.cookie.js a jak přesně pracuje prop, ale na první pohled bych řekl, že do sušenky ukládáš buď řetězec "true", nebo řetězec "false". A že je pak jedno, co přiřadíš do vlastnosti checked, protože ta automaticky převádí hodnotu na boolean, řetězec "false" je také true. Ale možná se pletu a pod kapotou používaných metod je nějaká nečekaná inteligence :-)

if ($.cookie(id) && $.cookie(id) == "true")
Tady je první část té podmínky určitě zbytečně.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: