2012-07-12 125 views
0

我有以下問題,我正在使用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);  
} 

回答

0

我認爲每一個你做的按鈕,點擊時,要覆蓋「contestId」,如果你想保持被點擊的項目列表,你可能想要做

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

或更好的風格..將其存儲在一個數組中。

希望這可以幫助〜

+0

這個工作,但我怎麼能推到一個數組? – pum 2012-07-12 20:37:21

+0

你可以stringify數組... http://stackoverflow.com/questions/3357553/how-to-store-an-array-in-localstorage – 2012-07-12 20:46:52

+0

謝謝你真的幫助,讓它現在工作 – pum 2012-07-14 13:36:42