0

我有以下问题,我正在使用 jquery mobile 构建一个 webapp。在 webapp (index.html) 的启动页面上,我显示了一个事件列表。当用户点击一个事件时,(eventsDetail.html) 被加载。在此页面上,用户可以选择通过“单击 joinContest 按钮”来参加比赛。

问题: 当我多次单击 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);       
}
4

1 回答 1

0

我认为每次单击按钮时,都会覆盖“contestId”,如果要保留单击项目的列表,则可能需要这样做

var currentlist = localStorage.getItem("contestId");
currentlist = currentlist +" "+ id;
localStorage.setItem("contestId", currentlist);

或者更好的风格..将它存储在一个数组中。

希望这会有所帮助~

于 2012-07-12T18:32:23.437 回答