我正在用phonegap制作一个小游戏,这是我的本地存储/记分板代码。我在这个记分牌中保留分数和时间,我做了几个例子,它们出现了,但不是我应该添加的例子?
var localData = function(){
var _local = [
{
"score": 1,
"datum": "di 25 jan 2016"
},
{
"score": 5,
"datum": "di 26 jan 2016"
},
{
"score": 9,
"datum": "di 27 jan 2016"
},
{
"score": 10,
"datum": "di 28 jan 2016"
}
];
var _setLocalStorage = function () {
console.log("Score word bewaard");
console.log(_local);
localStorage.setItem('LocalData', JSON.stringify(_local));
_scoreList();
};
var _scoreList = function () {
var DatumVanNu = new Date().toDateString();
console.log(DatumVanNu + ' _local = ' + _local.length);
console.log(_local);
$('#tbodyid').empty();
for (var i = 0; i < _local.length; i++){
console.log(_local[i].datum)
var item = '<tr> <td>' + _local[i].score + '</td> <td>'+ _local[i].datum +'</td> </tr>';
$('tbody').append(item);
}
console.log('gedaan')
};
var init = function () {
console.log("score word geopent");
_local = [];
var local_str = localStorage.getItem('LocalData');
if(local_str !== null){
_local = JSON.parse(local_str);
}
console.log(_local);
_scoreList();
};
var addScore = function (score) {
console.log("Score wordt toegevoegd");
var datum = new Date();
_local.score = score;
_local.datum = datum;
_scoreList();
};
return {
init: init,
addScore: addScore
};
}()
最佳答案
您似乎正在向 _local
列表添加属性,而不是在函数 addScore
中向其中添加项目
尝试更改为以下内容
var addScore = function (score) {
_local.push({score: score, datum : new Date()});
_scoreList();
};
而不是
_local = []
...
_local.score = ..
_local.datanum = ...
请告诉我这是否有效。
关于javascript - JQuery 将项目添加到我的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334065/