2014-06-27 43 views
1

我正在爲乙烯基集合製作一個小型數據庫。 Ik希望通過在輸入菜單中輸入每個項目來列出所有黑膠唱片,並將這些數據存儲在本地存儲中,並將它們顯示在同一個html頁面上。如何使用輸入字段在本地存儲器中存儲多個項目

問題是: 我最多隻能在本地存儲中存儲1個項目。 當我輸入第二個項目時,第一個項目丟失。 所以我只能回憶我當地商店中最後一個存儲的項目。

如何使用本地存儲創建多個項目的列表? 我已經試過了,但我不能讓它工作。

這裏是我的代碼:

$(document).ready(function(){ 
$("#content").append("<tr><td>" + localStorage.Album + "</td>" + "<td>" + localStorage.Artist + "</td>" + "<td>" + localStorage.Year + "</td>" + "<td>" + localStorage.State + "</td></tr>"); 
$("#save").click(function() { 




var album = $('#album').val(); 
var artiest = $('#artiest').val(); 
    var jaar = $('#jaar').val(); 
    var staat = $('#staat :selected').text(); 
localStorage.Album = album; 
localStorage.Artist = artiest; 
localStorage.Year = jaar; 
localStorage.State = staat; 
$("#inhoud").append("<tr><td>" + localStorage.Album + "</td>" + "<td>" 
localStorage.Artist + "</td>" + "<td>" + localStorage.Year + "</td>" + "<td>" 
localStorage.State + "</td></tr>"); 
}); 
}); 

回答

0

我不是很確定的localStorage是真的應該是一個不錯的選擇。

你想要的是一個對象數組(其中的項目只是順序的常規數組,或者是一個可以訪問項目的關鍵數組)。但是localStorage不支持數組,只有字符串,所以在將數組存儲到localStorage之前,需要對數組進行serialize(stringify),並在返回時返回反序列化。

基本上它是沿着線的東西:

var albums = localStorage.albums ? JSON.parse(localStorage.albums) : []; 
albums.push({"Album":album, "Artist":artiest}); 
localStorage.albums = JSON.stringify(albums); 

但是,這意味着大量的解析和字符串化的每一個變化的...

相關問題