我有项目列表数据和空数组引号
:
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);
)};
我第一次添加
"test,45,testnotes,2016-02-03" Second time i 've added "test2,45.2,testnotes2,2016-02-05"
当我调试时,我得到的数据是:
obj(0): "test2,45.2,testnotes2,2016-02-05" obj(1):"test2,45.2,testnotes2,2016-02-05"
它似乎将最新版本附加到所有数据
请指教。谢谢
最佳答案
您需要在点击处理程序中声明数据,如果它被声明为全局变量,您基本上总是在修改并将相同的数据对象添加到数组中:
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/