我有一个包含多个问题的测验页面,该页面一次显示1个问题。问题的答案显示在按钮中。无论何时按下按钮,都会从数据库中获取第二个问题并显示。我有一个脚本,将按下的按钮的值放在一个数组中,但是当重新加载页面时,数组将被清空。我被告知使用localstorage但我不知道它是如何工作的,这是我用来在数组中存储数据的代码:
$( document ).ready(function() {
var antwoordenObject1= new Array();
$('.btn').click(function() {
antwoordenObject1.push($(this).val());
alert("newArray contents = "+ antwoordenObject1);
});
});
我发现这个代码将数组放入localstorage但不知道如何将这两个结合起来:
var complexdata = [1,2,3,4,5,6];
// store array data to the localstorage
localStorage.setItem("list_data_key", JSON.stringify(complexdata));
//Use JSON to retrieve the stored data and convert it
var storedData = localStorage.getItem("complexdata");
if (storedData) {
complexdata = JSON.parse(storedData);
}
document.write(complexdata);
答案 0 :(得分:2)
$( document ).ready(function() {
var antwoordenObject1 = localStorage.getItem("antwoorden");
antwoordenObject1 = antwoordenObject1 ? JSON.parse(antwoordenObject1) : [];
$('.btn').click(function() {
antwoordenObject1.push($(this).val());
localStorage.setItem("antwoorden", JSON.stringify(antwoordenObject1));
alert("newArray contents = "+ antwoordenObject1);
});
});
答案 1 :(得分:1)
您必须使用.setItem()
的{{1}}和.getItem()
方法。
注意: LocalStorage只能存储字符串。所以,如果你尝试:
localStorage
它将存储var a = {
test: "foo"
}
localStorage.setItem("test", a);
而不是对象本身。对于数组,它将是逗号分隔的字符串。
您还必须使用[object Object]
和JSON.stringify
进行正确沟通。