如何记住页面刷新后的附加项目

时间:2015-07-29 17:45:07

标签: javascript jquery local-storage

我有一个带有多个元素的表单的Page1。当我单击其中一个元素时,它会将我带到Page2(在Page2中选择一个项目)并将该选定项目作为查询字符串传递回Page1。然后我会在最后点击的元素中追加该项目。它一直有效。

现在,问题是当我重复相同的事情,即点击另一个元素,转到另一个页面,并将该项目附加到Page1,我无法获得这些元素上的前一个附加项目。

所以,我想使用localStorage来保存jquery对象,然后使用localStorage在每次刷新时(从另一个页面进入之后)检索那些选定的项目。

county_station_data.head()
>>  Counties     Recommended_Station
0   Appling            Waycross
1  Atkinson                Adel
2     Bacon            Sterling
3     Baker             Camilla
4   Baldwin       Milledgeville

我得到了ImgCookie:" Item1"  只要。无法看到其他Item对象被推送。

2 个答案:

答案 0 :(得分:0)

您必须知道setItem()尝试将第二个值转换为字符串。所以你必须首先使用Json.stringify()将对象转换为json字符串。这样就可以存储所有数据。提取数据。使用json.parse()

这是一篇相关文章。试着检查一下。 Storing Objects in HTML5 localStorage

答案 1 :(得分:0)

JSON.stringify是一个无法使用循环引用转换对象的函数。例如:

var i = {}, i.m = i; 
var k = JSON.stringify(i);//k=="{}"

在dom中,有很多循环引用。这就是你无法看到的原因。但为了您的目的,您可以只构成一个新对象,并存储基本值。

这是一个替代解决方案,有了这个,你可以消除那些循环引用。

var ele = $("selector");
var obj = ele.clone(true);
console.log(JSON.stringify(obj));