如何使用jquery将数组元素添加到自身

时间:2017-02-12 08:42:30

标签: jquery arrays multidimensional-array

我有这个特殊的代码

var added_products_array = [];

$('.product tr').each(function(){
    var added_products_row = [];
    added_products_row.push($(this).find('.product_id').html());
    added_products_row.push($(this).find('.productName').html());
    added_products_row.push($(this).find('.quantity').html());
    added_products_row.push($(this).find('.units').html());
    added_products_row.push($(this).find('.unitPrice').html());
    added_products_row.push($(this).find('.discount').html());
    added_products_row.push($(this).find('.totalAmount').html());
    added_products_array.push(added_products_row);

    $.each([added_products_row[2]], function( index, value ) {  
        var store = 0;
        store += parseInt($(this));
        alert(store);
    });
});

.product是tbody,其中的tr是从另一个div自动生成的,它将上面看到的值推送到数组中。

我试图使用您在上面看到的函数从数量中添加所有td值,但我似乎无法使其工作。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

您每次在循环中初始化数组和其他变量。 此外,我已经移除了另一个循环,并在第一个循环后保留它。让我知道这是否是您正在寻找的。

尝试这样的事情,

var added_products_row = [];
$('.product tr').each(function(){

        added_products_row.push($(this).find('.product_id').html());
        added_products_row.push($(this).find('.productName').html());
        added_products_row.push($(this).find('.quantity').html());
        added_products_row.push($(this).find('.units').html());
        added_products_row.push($(this).find('.unitPrice').html());
        added_products_row.push($(this).find('.discount').html());
        added_products_row.push($(this).find('.totalAmount').html());
        added_products_array.push(added_products_row);

    });

var store = 0;
$.each([added_products_row[2]], function( index, value ) {          
            store += parseInt(value);
});
alert(store);

答案 1 :(得分:0)

试试这个,

var store = 0; // default to 0
$('.product tr').each(function(){
    var added_products_row = [];
    added_products_row.push($(this).find('.product_id').html());
    added_products_row.push($(this).find('.productName').html());
    added_products_row.push($(this).find('.quantity').html());
    added_products_row.push($(this).find('.units').html());
    added_products_row.push($(this).find('.unitPrice').html());
    added_products_row.push($(this).find('.discount').html());
    added_products_row.push($(this).find('.totalAmount').html());
    added_products_array.push(added_products_row);
        store += parseInt(added_products_row[2]);
});
alert(store);

您正在重置每次迭代中的商店值

如果你想要所有商店的总数,我在上面写道。

试一试,它应该有用。