Javascript 如何使用json创建阵列并存储在本地存储中

Javascript 如何使用json创建阵列并存储在本地存储中,javascript,arrays,json,Javascript,Arrays,Json,大家好,我有一个表单,它接收数据,如项目名称、代码等,所以当我按下enter按钮时…我使用json字符串化,并得到本地存储中存储内容的警报。但是,当我单击“重置”并创建一个新项目时,它只显示新项目,我是否可以将所有创建的项目存储在本地存储中。。。?这是我编码的一部分。我是初学者,如果问题太简单,请原谅 谢谢 $('#myBox #EnterButton').click(function() { ItemData = { 'ItemCode' : $('#ItemCode

大家好,我有一个表单,它接收数据,如项目名称、代码等,所以当我按下enter按钮时…我使用json字符串化,并得到本地存储中存储内容的警报。但是,当我单击“重置”并创建一个新项目时,它只显示新项目,我是否可以将所有创建的项目存储在本地存储中。。。?这是我编码的一部分。我是初学者,如果问题太简单,请原谅

谢谢

$('#myBox #EnterButton').click(function() {
    ItemData = { 
        'ItemCode' : $('#ItemCode').val(),
        'ItemName' : $('#ItemName').val()
    };

    localStorage.ItemData=JSON.stringify(ItemData);
    $('#myBox').slideUp();
});


我已经将itemdata声明为一个公共变量。希望它是清楚的。TIA

您必须组织使用本地存储的方式(getter/setter类可能有助于维护)。从上面的代码来看,似乎总是使用刚才插入的值覆盖localStorage.ItemData。 解决方案是将localStorage.Items作为一个数组,每当您在该数组中插入时,对其进行迭代以查看它是否尚未添加(例如,基于itemCode),并覆盖或插入一个新项


我想这就足够玩了。与localStorage相比,浏览器中的PockDB-websql是一个更高级的概念,用于稍有不同的用途。

听起来,如果要存储多个项目,应该使用itemData对象数组。然后,您必须解析这个(数组),并使用类似于array.push(newItem)的东西,然后在保存它之前再次对它进行字符串化

var allItems = localStorage.getItem('ItemData');
if(allItems == null) {
    localStorage.setItem('ItemData', JSON.stringify([ItemData]));
} else {
    allItems = JSON.parse(allItems);
    allItems.push(ItemData);
    localStorage.setItem('ItemData', JSON.stringify(allItems));
}

使用localStorage.setItem('itemData',data)和localStorage.getItem('itemData')注意
itemData={}
是一个对象而不是数组。
var allItems = localStorage.getItem('ItemData');
if(allItems == null) {
    localStorage.setItem('ItemData', JSON.stringify([ItemData]));
} else {
    allItems = JSON.parse(allItems);
    allItems.push(ItemData);
    localStorage.setItem('ItemData', JSON.stringify(allItems));
}