我想在單擊按鈕到lolalStorage時保存每個ID。將數組存儲到localStorage中,每次點擊一個按鈕
$("li").on("click", "a", function(){
var test = {"id": id, "name":name};
localStorage.setItem("test", JSON.stringify(test));
});
但是在頁面重新加載時,我只能得到一個id。
我想在單擊按鈕到lolalStorage時保存每個ID。將數組存儲到localStorage中,每次點擊一個按鈕
$("li").on("click", "a", function(){
var test = {"id": id, "name":name};
localStorage.setItem("test", JSON.stringify(test));
});
但是在頁面重新加載時,我只能得到一個id。
您在每次點擊時覆蓋同一項目,因此您只能存儲最後一個。 test
是這個價值的關鍵。
你有兩個選擇:
1.-使用id
存儲在localStorage的信息或產生與信息的新對象。
使用id
爲localStorage的關鍵:
$("li").on("click", "a", function(){
localStorage.setItem(id, name);
});
這樣,你不知道哪個ID的你已經在本地存儲,所以它的複雜事後檢索信息。
2.-另一種選擇是保存一個包含所有鍵值對象的數組。您將只存儲一個對象的localStorage包含多個對象:
$("li").on("click", "a", function(){
var test = localStorage.getItem("test");
var obj = [];
if(test){
obj= JSON.parse(test);
}
obj.push({"id": id, "name":name});
localStorage.setItem("test",JSON.stringify(obj));
});
所以後來檢索信息是因爲這樣做很容易:
var test = JSON.parse(localStorage.getItem("test")); // Returns array with multiple objects
由於localStorage每次都使用相同的密鑰「test」,因此每次點擊都覆蓋相同的值。嘗試使用
localStorage.setItem(id, name);
如果您存儲的數據相同的變量例如'test',那麼你只會存儲一個對象,最後一個被保存。您需要使用可能基於對象ID的不同鍵,以存儲不同的對象並能夠檢索它們。 – melc