我在Cordova创建的应用程序中使用Lawnchair。我删除记录时遇到了问题,即我删除了第一条记录,但第二条记录被删除了,或者我得到了Uncaught TypeError:无法设置undefined的属性“key”。有没有人有这个问题或我做错了什么。如果您运行下面的脚本并尝试删除不同序列中的记录,则问题将会显现。任何帮助,将不胜感激。感谢。
<!DOCTYPE html><html>
<head>
<title>Lawnchair</title>
<script type="text/javascript" src="js/lawnchair-0.6.1.js"></script>
</head>
<body>
<script type="text/javascript">
var tmpStore1 = new Array();
tmpStore1.push({ "ISBN":9781565926998,
"Title":"jquery",
"Book":"pdf",
"Qty":3,
"Value":12.46
} );
var tmpStore2 = new Array();
tmpStore2.push({ "ISBN":123456789,
"Title":"lawnchair",
"Book":"web",
"Qty":6,
"Value":5.67
} );
var tmpStore3 = new Array();
tmpStore3.push({ "ISBN":987654321,
"Title":"extjs",
"Book":"web",
"Qty":1,
"Value":8.45
} );
var viewData = Lawnchair( function(e){ //open the store
console.log('store ready ');
});
// viewData.nuke();
viewData.save({key:9781565926998, data:tmpStore1}); // save 1
viewData.save({key:123456789, data:tmpStore2}); // save 2
viewData.save({key:987654321, data:tmpStore3}); // save 3
// hash out to remove records individually
isbn = 9781565926998;
viewData.remove(isbn); //delete 1
isbn = 123456789
viewData.remove(isbn); //delete 2
isbn = 987654321
viewData.remove(isbn); //delete 3
viewData.each(function(record) {
console.log(record.data[0].ISBN+' - '+record.data[0].Title);
console.log(record);
});
</script>
</body>
答案 0 :(得分:0)
要使它工作isbn应该是一个字符串,即:isbn =“9781565926998” 或者键值设置为isbn值的对象。 试一试。