我正在使用以下代码,当页面刷新时保持复选框状态,但是一旦我移动到另一个页面,我就会丢失复选框的状态。
$(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));
});
});
答案 0 :(得分:0)
sessionStorage
将不会保留其数据。为此,您需要使用localStorage
。它们都有类似的界面,因此您应该只需在代码中交换sessionStorage
localStorage
。
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage