Запомнить значение флажка - PullRequest
1 голос
/ 02 апреля 2011

Привет, я был бы очень признателен, если бы кто-нибудь смог пролить свет на это. По сути, у меня есть приложение для iphone, созданное с использованием jqtouch и phonegap, в котором есть список стандартных флажков, и при их выборе будет применен эффект зачеркивания, достаточно легко (вроде простого контрольного списка) все это решается на стороне клиента, и ничего не будет отправлено куда-либо.

Однако, когда пользователь закрывает приложение, флажки возвращаются к своему первоначальному состоянию, т.е. все не отмечены, и я хотел бы, чтобы они оставались такими же, как пользователь их оставил. Я думаю, что местное хранилище было бы способом сделать это, однако, я попробовал, и я немного запутался.

Любая помощь будет отличной, и спасибо заранее.

Kyle

1 Ответ

0 голосов
/ 25 мая 2011

Вот, пожалуйста:

$(document).ready(function() {

    $('form')
    .delegate(':checkbox','change',function() {

        var $this = $(this);

        localStorage.setItem('checkbox' + $this.index('form :checkbox'),$this.attr('checked').toString());
    })
    .find(':checkbox')
    .each(function(index) {

        if(localStorage.getItem('checkbox' + index) === 'true') $(this).attr('checked',true);
    });
});

Потребовалось некоторое время, чтобы написать это самостоятельно, но я думаю, оно того стоитОбработка состояния по умолчанию зависит от вас (например, когда флажок уже установлен с HTML).

...