-3

我的问题是在每个循环下我只能在 json 中获得最后一个值。如何创建 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 回答