如何存储id本地存储每次我点击按钮
问题描述:
我有以下问题,我正在使用jquery mobile来构建一个webapp。 在webapp(index.html)的启动页面上,我显示了一个事件列表。 当用户点击一个事件时,(eventsDetail.html)被加载。在这个页面上,用户可以选择通过'点击joinContest'按钮来参加比赛。如何存储id本地存储每次我点击按钮
问: 当我点击joinContest按钮多次和导航回index.html,然后单击.btn-showContests按钮只有一个ID保存(这是我最后一次点击的比赛的id) 如何储存我点击过的所有比赛的ID,以便当我回到index.html并单击.btn-showContests时,它将获得我点击过的所有ID。
文件:eventdetails.js
$('.btn-joinContest').live('click', function(e){
if (Modernizr.localstorage) {
var id = getUrlVars()["id"];
localStorage.setItem("contestId", id);
} else {
console.log('browser doesnt support localstorage')
}
});
文件:eventlist.js
注:当我按一下按钮.btn-showContests它执行此功能。
function showContests(){
var contests = localStorage.getItem("contestId");
if(contests == null) {
console.log('Nothing in store');
}
else if (contests.length === 0) {
console.log('Store contains empty value');
}
console.log(contests.length);
}
答
我认为每一个你做的按钮,点击时,要覆盖“contestId”,如果你想保持被点击的项目列表,你可能想要做
var currentlist = localStorage.getItem("contestId");
currentlist = currentlist +" "+ id;
localStorage.setItem("contestId", currentlist);
或更好的风格..将其存储在一个数组中。
希望这可以帮助〜
这个工作,但我怎么能推到一个数组? – pum 2012-07-12 20:37:21
你可以stringify数组... http://stackoverflow.com/questions/3357553/how-to-store-an-array-in-localstorage – 2012-07-12 20:46:52
谢谢你真的帮助,让它现在工作 – pum 2012-07-14 13:36:42