我有以下问题,我使用jquery mobile来构建一个webapp。 在webapp(index.html)的启动页面上,我显示了一个事件列表。 当用户点击某个事件时,(eventsDetail.html)会被加载。在此页面上,用户可以选择通过“单击joinContest按钮”加入比赛。
问题: 当我多次单击joinContest按钮并导航回index.html并单击.btn-showContests按钮时,只存储了一个id(这是我最后点击的比赛的id) 如何存储我点击的竞赛的所有id,以便当我导航回index.html并单击.btn-showContests时,它会获得我点击过的所有id?
file: 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')
}
});
file: 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);
}
答案 0 :(得分:0)
我认为每次点击按钮时,你都会覆盖“contestId”,如果你想保留点击项目的列表,你可能想要这样做
var currentlist = localStorage.getItem("contestId");
currentlist = currentlist +" "+ id;
localStorage.setItem("contestId", currentlist);
或更好的风格..将其存储在数组中。
希望这有帮助〜