Сохранить состояние флажка после смены страницы

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

$(document).ready(function () {

if (sessionStorage.getItem('checked-checkboxes') && $.parseJSON(sessionStorage.getItem('checked-checkboxes')).length !== 0)
{
    var arrCheckedCheckboxes = $.parseJSON(sessionStorage.getItem('checked-checkboxes'));
    //Convert checked checkboxes array to comma seprated id
    $(arrCheckedCheckboxes.toString()).prop('checked', true);
}
$("#checkboxes input").change(function () {
    var arrCheckedCheckboxes = [];
    // Get all checked checkboxes
    $.each($("#checkboxes input:checked"), function () {
        arrCheckedCheckboxes.push("#" + $(this).attr('id'));
    });

    // Convert checked checkboxes array to JSON ans store it in session storage
    sessionStorage.setItem('checked-checkboxes', JSON.stringify(arrCheckedCheckboxes));
});
});

1 ответ

sessionStorage не сохранит свои данные, когда вы уйдете со страницы. Для этого вам нужно использовать localStorage, Они оба имеют похожий интерфейс, так что вы должны просто иметь возможность поменять местами sessionStorage за localStorage в вашем коде.

https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

Другие вопросы по тегам