遍历表时如何将多选值推入Jquery数组

时间:2019-11-15 00:32:06

标签: jquery asp.net-mvc

我有一个MVC foreach表,其中有一个多选下拉列表。是否可以基于该行中的值创建并存储一个数组,然后在该行完成后再次进行操作?

我将在下面进一步阐述。

这里是桌子的图片。您可以看到我需要捕获的多个值。 Table with multi select drop down list

这就是我可以做的:我可以标识这些值在哪行和列上,并且可以将它们全部存储在数组中并显示它们。

我需要做的是获取行中的值:0。将它们存储在数组中,然后将其发送给控制器进行处理。回来对行1和行2进行相同的操作。但是,当行发生更改时,我无法确定如何执行此操作。

这是我的Jquery函数,它捕获并显示。

$('#alSubmitButton').on('click', function () {
var rowCount = $('#alSublineValSubmitTBL >tbody >tr').length;

var selected = [];


$("table#alSublineValSubmitTBL >tbody >tr").each(function (i) {
    $(".mcalSymbols :selected", this).each(function (j) {
        console.log("".concat("row: ", i, ", col: ", j, ", value: ", $(this).text()));  
        selected.push($(this).text());

    });
         //AT SOME POINT HERE WHEN THE ROW (i) INCREASES. I will send selected array to another function. 
        //This is exactly the point I need some assistance. How can I recognize when row i changes 
        //from 0 to 1 and 1 to 2.. etc  ? (Could be up to 13 potential rows here) 

});
  console.log(selected);
});

这是console.log的图片,其中包含当前输出

enter image description here

您可以看到我已确定行和列。我还将输出所有选择的值。想要在第0行中获取这些值。将它们放入数组中..将其发送给控制器。对第1行和第2行执行相同的操作。始终感谢您的指导和帮助。

更新:添加我正在使用的视图模型以显示结果

 public class CIF_SubLines_InsertVM
{
    public CIF_SubLines_InsertVM()
    {
        //emtpy constructor
    }

    public CIF_SubLines_InsertVM(CIF_SubLines_InsertDTO row)
    {
        UniqSublineID = row.UniqSublineID;
        UniqSublineType = row.UniqSublineType;
        UniqLineType = row.UniqLineType;
        UniqLine = row.UniqLine;
        UniqPolicy = row.UniqPolicy;
        Selected = row.Selected;
        SubLineName = row.SubLineName;
    }

    public Guid UniqSublineID { get; set; }
    public Guid UniqSublineType { get; set; }
    public Guid UniqLineType { get; set; }
    public int UniqLine { get; set; }
    public int UniqPolicy { get; set; }
    public bool Selected { get; set; }
    public string SubLineName { get; set; }
}

0 个答案:

没有答案