Javascript 在阵列中存储localStorage.getItem

Javascript 在阵列中存储localStorage.getItem,javascript,jquery,html,Javascript,Jquery,Html,我的HTML页面上有6个复选框。在提交表单时,我想在localStorage中保存哪些已检查,哪些未检查。这是我的代码: var getmealpref; for(var i=0, l=checkboxes.length; i<l;i++) { if(checkboxes[i].checked) { localStorage.setItem('mealpref',checkboxes[i].value); getmealpref[i] = l

我的HTML页面上有6个复选框。在提交表单时,我想在localStorage中保存哪些已检查,哪些未检查。这是我的代码:

var getmealpref;
for(var i=0, l=checkboxes.length; i<l;i++)
{
    if(checkboxes[i].checked)
    {
        localStorage.setItem('mealpref',checkboxes[i].value);
        getmealpref[i] = localStorage.getItem('mealpref');
        alert(getmealpref[0])
        okay=true;
    }
}
var getmealpref;

对于(var i=0,l=checkbox.length;i,在存储到localStorage之前,必须序列化非字符串类型

var checkboxes = document.querySelectorAll('input[type="checkbox"]');
var getmealpref = [];
for(var i=0, l=checkboxes.length; i<l;i++) {
    if(checkboxes[i].checked) {
        getmealpref[i] = checkboxes[i].value;
        localStorage.mealpref = JSON.stringify(getmealpref);
    }
}

// debug
getmealpref = JSON.parse(localStorage.mealpref);
alert(getmealpref[0]);
var checkbox=document.querySelectorAll('input[type=“checkbox”]”);
var getmealpref=[];

对于(var i=0,l=checkbox.length;ilocalStorage)来说,将接受数组,但它们将存储为字符串,因此最好存储JSON

var getmealpref = [];

for(var i=0, l=checkboxes.length; i<l;i++) {
    getmealpref[i] = checkboxes[i].checked;
}

localStorage.setItem('getmealpref', JSON.stringify(getmealpref));
var getmealpref=[];

对于(var i=0,l=checkbox.length;iNote),浏览器应该为您序列化非字符串值,但您也可以自己序列化。--恐怕不行。这些函数使用
字符串,因此调用方必须处理所有序列化。@JeremyJStarcher--我相信大多数浏览器都会
.toString()
在非字符串上,在这里对我们不是很有用。如何显示'getmealpref'的单个值?这是我现在的代码:`var getmealpref=[];for(var i=0,l=checkbox.length;i
var values = JSON.parse( localStorage.getItem('getmealpref') );

for(var i=0, l=checkboxes.length; i<l;i++) {
    checkboxes[i].checked = values[i];
}