Сохранить состояние флажка после смены страницы
Я использую следующий код, который сохраняет состояние флажка при обновлении страницы, но как только я перехожу на другую страницу, я теряю состояние флажков.
$(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