我有项目列表data and empty array quotations
:
var data = {};
var quotations = [];
我想用数据值填充
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);
)};
我第一次添加
当我调试时,我得到的数据为:
似乎将最新版本附加到所有数据
请指教 。谢谢
最佳答案
您需要在点击处理程序中声明数据,如果将其声明为全局变量,那么您基本上总是在修改相同的数据对象并将其添加到数组中:
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);
)};
关于javascript - 在jQuery中将值推送到数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36119159/