将多维数组转换为有用的提交数据的东西

时间:2011-12-17 23:08:10

标签: javascript jquery arrays

我有一个由以下方法生成的多维数组:

 $('#order-submit').click(function(){
    var orderResult = [];
    $(".dynamic-sale").each(function(){
        var individual_result = [];
        $(this).find("select").each(function(){
            individual_result.push($(this).val());
        })
        orderResult.push(individual_result);
    });

它从动态形式的衬衫销售中收集数据,并创建一个如下所示的数组:       [[“3XL”,“1”,“15”],[“XL”,“1”,“15”]] 每行的每件商品的尺寸,数量和价格。我能够计算总成本,但是我很难找到一种方法来将每个项目的总数量变成一种格式,然后我可以将其添加到ajax调用以提交到数据库。我该怎么做?

谢谢!

2 个答案:

答案 0 :(得分:2)

// I added an element to your array for testing purposes
var arr = [["3XL", "1", "15"], ["XL", "1", "15"], ["XL", "2", "15"]]

// create an object to store each item
var items = {}

// loop over the array, building object with totals
$.each(arr, function(i,v){
    // if the item is not already defined, then define it
    if(typeof items[v[0]] == 'undefined')
        // the `- 0` ensures that the value is treated as numeric
        items[v[0]] = v[1] - 0
    // else increment it
    else
        items[v[0]] += v[1] - 0
})

答案 1 :(得分:2)

我建议您使用jQuery .serialize()发送表单并计算服务器端: http://api.jquery.com/serialize/
http://api.jquery.com/serializeArray/