更改页面

时间:2017-11-15 13:03:44

标签: jquery sessionstorage

我正在使用以下代码,当页面刷新时保持复选框状态,但是一旦我移动到另一个页面,我就会丢失复选框的状态。

$(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 个答案:

答案 0 :(得分:0)

当您离开页面时,

sessionStorage将不会保留其数据。为此,您需要使用localStorage。它们都有类似的界面,因此您应该只需在代码中交换sessionStorage localStorage

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