2014-06-27 75 views
0

我正在使用的应用程序,我创造科尔多瓦Lawnchair。删除记录时,我有erattic问题,即我删除第一个记录的代码,但第二个被删除,或者我得到Uncaught TypeError:无法设置未定义的属性'键'。有没有人有这个问题,或者我做错了什么。如果您运行下面的脚本并尝试以不同顺序删除记录,则问题将会显现。任何帮助,将不胜感激。谢谢。Lawnchair JSON商店中删除记录

<!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

要使其工作ISBN应该是一个字符串,即:ISBN =“9781565926998” 或设为您的ISBN价值的关键值的对象。 试试看。