我有项目列表数据和空数组引用:
var data = {}; var quotations = [];
我想用数据值填充引号,每次添加新数据时,它都会成功添加,但所有数据值都会获得最后一个值.
例如 :
$("#addquotation").click(function () { debugger; var itemname = $("#itemname").val(); var cost =parseFloat( $("#cost").val()); var notes = $("#notes").val(); var date = $("#date").val(); data.Item = itemname; data.Cost = cost; data.Notes = notes; data.Date = date; quotations.push(data); )};
我第一次添加
“test,45,testnotes,2016-02-03” Second time i ‘ve added
“test2,45.2,testnotes2,2016-02-05”
当我调试我获取数据为:
obj(0): “test2,2016-02-05″
obj(1):”test2,2016-02-05”
它似乎将最后一个版本附加到所有数据
请指教 .谢谢
解决方法
您需要在click处理程序中声明数据,如果它被声明为全局变量,您基本上总是在修改并向数组添加相同的数据对象:
var quotations = []; $("#addquotation").click(function () { debugger; var data = {}; var itemname = $("#itemname").val(); var cost =parseFloat( $("#cost").val()); var notes = $("#notes").val(); var date = $("#date").val(); data.Item = itemname; data.Cost = cost; data.Notes = notes; data.Date = date; quotations.push(data); )};