2017-04-12 37 views
1

嗨我在我的MVC页使用jQuery数据表,所以。在1页我必须发送所有数据从数据表到控制器。所以我做的是我把所有的数据都放到了1个数组中,然后传给了控制器。使用代码rows()。每个函数不工作在jQuery的绑定数据表

var AllSelectedData = []; 
var selected = []; 
    table = $('#Distpopup').DataTable(); 
    table.rows().every(function() { 
     var d = this.data(); 
     AllSelectedData.push(d); 
    }); 
    $("#dtlist").val(AllSelectedData); 

它工作正常进行模型绑定的数据表中,但在1情况下,我具有使用AJAX在这种情况下它不是working.Any建议

+0

每一行有控制台的错误信息?并可以显示完整的脚本 – Usman

回答

0

您可以访问所有绑定的DataTable模型绑定中的表格行以及Ajax中的表格行。

例如这是你的数据表面初始化。

var table = $('#Distpopup').DataTable(); 

将数据添加到表后,您想要在数组中获取此数据。如果要将数据发送到控制器,请使用JSON.stringify()将数据串起来,然后将其发送给控制器,并且可以在与表单字段的模型绑定中使用它,也可以使用Ajax请求传递此数据。

var AllSelectedData = []; 
table.rows().every(function() { 
    var d = this.data(); 
    AllSelectedData.push(d); 
}); 

$("#dtlist").val(JSON.stringify(AllSelectedData)); 

我也遇到过这个问题,看到这个question那还是没有答案。

+0

我的问题是,在jQuery绑定数据表的情况下。它甚至不在行内()。每一个函数。我得到的AllSelectedData数组为null null –

+0

请参阅[此链接](http://stackoverflow.com/questions/42596859/post-table-data-to-action-which-is-dynamically-added-to-datatable)和如果您仍然有问题,请按照步骤进行发布。 –

+0

并请更新您的问题,即如何初始化表格对象。 –

0

您可以使用数据表回调,http://legacy.datatables.net/usage/callbacks

一种方法使用initcomplete回调函数时 表已经初始化其工作是做。

$('#Distpopup').DataTable({ 
      //Other settings 
     "fnInitComplete": function (oSettings, json) { 
       console.log(json.data); 
      }, 
}); 

使用createdrow功能的另一种方式,其创作的作品

var AllSelectedData = []; 
    $('#Distpopup').DataTable({ 
       //Other settings 
      "createdRow": function (row, data, index) { 
        AllSelectedData.push(data); 
       }, 
    });