2017-04-12 40 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); 
       }, 
    });