javascript – 在jquery中将值推送到数组

前端之家收集整理的这篇文章主要介绍了javascript – 在jquery中将值推送到数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有项目列表数据和空数组引用:

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);
)};

猜你在找的jQuery相关文章