我正在为杂货店网站创建购物清单应用。我是javascript的新手,我还不太了解javascript对象。
我开始创建应用程序,这就是我所拥有的: http://casb1.cloudapp.net/1024/92da5d49e7b5cbfd68388a7742e5dd54/shopping%20list/jqtest.html
然后有人用Javascript比我建议将数据存储在对象中而不是使用html输出。所以我开始重新构建应用程序,现在我有了这个:
http://casb1.cloudapp.net/1024/92da5d49e7b5cbfd68388a7742e5dd54/shopping%20list/jqtest2.html
当您尝试立即添加项目时,它无法正常工作。它在控制台中喷出了这个错误:
Uncaught TypeError: Cannot read property 'quantity' of undefined
此错误发生在此位置: 第125行:
p.listhtml += '<li>' + p.items[i]['quantity'] +' - '+ p.items[i]['item'] +' <input type="button" href="#" class="killwithfire" value="trash"></li>';
我在代码中留下了很多评论,希望能让它更容易阅读。
谁能告诉我它有什么问题?我没有输入错字...因为我的添加到列表功能,所以应该有值...
提前感谢任何提供帮助的人。
答案 0 :(得分:0)
您正在迭代一次太多次。在<=
循环中将<
替换为for
。
你正在迭代3次。第三次i
等于2.但是索引2超出了数组的范围。
for( var i = 0; i < p.items.length; i++ ){
}