-3

私の問題は、各ループの下にあり、json の最後の値を 1 つしか取得できません。json 配列を作成するにはどうすればよいですか
。モデルがあることを知りたいです。

public class ProductModel() {
    public string productname {
        get;
        set;
    }
    public string productgui {
        get;
        set;
    }
    public string unit {
        get;
        set;
    }

}

ビュー内の Jquery コード

var productPairs;
$('#tabletest tr').each(function () {
    var productName = $(this).find(".productName").attr("id");
    var productUnit = $(this).find(".productUnit").attr("id");
    var productGuid = $(this).find(".productGuid").attr("id");
    alert(productName + "," + productUnit + "," + productGuid);
    productPairs = {
        ProductName: productName,
        NumOfProduct: productUnit,
        GuidID: productGuid,
        SelectedProductId: Guids
    };
4

1 に答える 1

1

ループが繰り返されるたびに (または、 への呼び出しで関数を実行するたびに.each())、以前の値を上書きします。

productPairs = {
    ProductName: productName,
    NumOfProduct: productUnit,
    GuidID: productGuid,
    SelectedProductId: Guids
};

すべての値の配列にしたい場合は、最初に (空の) 配列として宣言します。

var productPairs = [];

次に、ループ(または、むしろへの呼び出し.each())でpush、配列への値:

productPairs.push({
    ProductName: productName,
    NumOfProduct: productUnit,
    GuidID: productGuid,
    SelectedProductId: Guids
});

(注: これは、ビュー、MVC、サーバー側のテクノロジ、AJAX、さらには jQuery とは関係ありません。これは単なる JavaScript 配列です。)

于 2013-09-23T14:08:08.303 に答える