0

データを含む最終的なオブジェクトを作成しようとしていますが、そのうちの 1 つを除いてすべての要素が数値であり、その 1 つはより多くのオブジェクトを保持するためのものです。これが私がこれまでに持っているものです。

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

各ループのidとqtyの値から次の型構造を保持するためにproduct_dataを取得しようとしています。各ループに基づいて、このように見える最終的なデータ入力。

                 "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 に答える