我的问题:下面的代码将一个值存储到regId,当我再次单击按钮时,此值将被覆盖。如何在regId中存储新值而不覆盖regId数组中的其他值?
$('.btn-joinContest').live('click', function(e){
if (Modernizr.localstorage) {
var id = getUrlVars()["id"],
regId = [ ],
currentList = localStorage["contest"];
if(currentList == null) {
console.log('first click add to local storage');
regId.push(id);
localStorage['contest']=JSON.stringify(regId);
}
else if (currentList.length === 0) {
console.log('store contains empty value');
regId.push(id);
localStorage['contest']=JSON.stringify(regId);
} else {
console.log('there is something in localstorage get it');
regId = JSON.parse(currentList);
// Search for a specified value within regId array and return its index
// (or -1 if not found).
if(jQuery.inArray(id, regId) > -1){
console.log('id is already in array');
} else {
console.log('add current id to localstorage');
regId.push(id);
localStorage['contest']=JSON.stringify(regId);
}
}
} else {
console.log('this browser does not support localstorage')
}
});
答案 0 :(得分:0)
$('.btn-joinContest').live('click', function(e){
id = 'Something new';
currentList = localStorage["contest1"];
var regId = [];
console.log(currentList);
if(currentList)
regId = JSON.parse(currentList);
regId.push(id);
localStorage['contest1']=JSON.stringify(regId);
});
这样的事情会起作用吗?