需求:
1.對某一列進行動態更新,
2.不能對表格狀態更改,如選中狀態、當前頁數、篩選等,
這樣我們使用 draw 、ajax.reload 等都不能滿足第二個需求,幸好發現一個api cell().data() 可以實作上面的需求,對此進行了封裝來滿足需求,
解決:
$.fn.dataTable.Api.register( 'partUpdate', function (col) { var api = this; var Sdata =https://www.cnblogs.com/apuyuseng/p/ api.data().data() $.ajax({ url: api.ajax.url(), data: api.ajax.params(), contentType: "application/json; charset=utf-8", dataType: "json", type: 'post', success: function (resp) { var data =https://www.cnblogs.com/apuyuseng/p/ resp.data; var error = resp.error; if (error!=null || error!=undefined){ alert(error) return false; } var field = table.column(col).dataSrc() $.each(Sdata, function(index, Sitem){ $.each(data, function(_i, item){ if(item!=undefined && item.id==Sitem.id){ if (Sitem[field]!=item[field]){ table.cell( index, col ).data(item[field]) } delete data[_i] return false; } }) }) } }) } );
我們注冊api partUpdate,在內部ajax 訪問資料源,將得到資料和原來資料進行對比,然后進行單元格更新,
測驗效果圖:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/146317.html
標籤:JavaScript
上一篇:JS資料型別檢測
