0

我试图创建一个包含数据的最终对象,所有元素都是数字,除了其中一个,那个是容纳更多对象。这是我到目前为止所拥有的。

var data = '';
$(".item-element").each(function(e) {
    var id  = this.id;
    var qty = parseInt($("#" + this.id + " .element-qty").text());

});

var sale_data = {
                 "id"     : $('#sales_id').val(),
                 "cid"    : $('#sales_custom').val(),
                 "status" : $('#sales_status').val(),
                 "data"   : {
                             "services" : service_data,
                             "products" : product_data
                            },
                 "total"  : Number($('#sale-total').text().substr(1)),
                };

我试图让 product_data 从每个循环中的 id 和 qty 的值中保存以下类型结构。基于每个循环的最终数据条目看起来像这样。

                 "data"   : {
                             "services" : service_data,
                             "products" : {
                                            {id:qty},
                                            {id:qty},
                                            {id:qty}
                                          }
                            },
4

2 回答 2

1

我想你想要的是这样的

var product_data = {};
$.each($('.item-element'), function(i,obj){
    product_data[this.id] = $("#" + this.id + " .element-qty").text();
});

var sale_data = {
    "id"     : $('#sales_id').val(),
    "cid"    : $('#sales_custom').val(),
    "status" : $('#sales_status').val(),
    "data"   : {
        "services" : service_data,
        "products" : product_data
    },
    "total"  : Number($('#sale-total').text().substr(1)),
};
于 2012-08-16T02:50:46.313 回答
0

看起来“产品”更适合作为数组。

考虑以下。

...
"data" : {
  "services" : service_data,
  "products" : []
},
...

根据您提供的内容,您可以更新每个循环以使用与此类似的内容。

$(".item-element").each(function(e) {
  sale_data.data.products.push( { this.id : parseInt($("#" + this.id + " .element-qty").text()) } );
});
于 2012-08-16T02:54:33.950 回答