您好,登錄后才能下訂單哦!
1.初始化datatables
myTable=$('.table-sort').DataTable({
serverSide: true,//開啟后臺數據獲取
processing: true,//顯示加載提示
pageLength: 100,//每頁默認顯示條目
lengthChange: true,//開啟每頁顯示數量選擇
lengthMenu: [10,50,100,150,300,500,1000,5000],//每頁可顯示條目選擇列表
ordering: true,//開啟排序
bStateSave: true,//狀態保存
searching:true,//開啟搜索
language: {
search: "搜索: "http://搜索提示字符
},
ajax: {
url: '數據獲取地址',
type: 'POST',//獲取方式
data: {
自定義參數名:參數值
}
},
fnCreatedRow: function(nRow, aData, iDataIndex) {
$(nRow).addClass('text-c');//全局增加樣式
},
columns: [
{
data:'數據名',
className:‘要增加的樣式’,
render: function ( data, type, row ) {
//處理數據后需要使用return返回
return data;
}
},
]
})
2.使用ajax從后臺獲取數據,并攜帶自定義參數
myTable.DataTables({
serverSide: true,
ajax: {
url: '數據獲取地址',
type: 'POST',//獲取方式
data: {
自定義參數名:參數值
}
},
}).on('preXhr.dt', function ( e, settings, data ) {
myTable.settings().ajax.params().自定義參數名=參數值
})
3.顯示編號
myTable.on( 'draw', function () {
myTable.column(要顯示編號的列索引值).nodes().each(function(cell,i){
i = i + 1;
var page = myTable.page.info();
var pageno = page.page;
var length = page.length;
var columnIndex = (i+pageno*length);
cell.innerHTML = columnIndex;
});
})
4.使用datatable進行相鄰行相同數據合并單元格
在使用databale時想進行相同值的單元格合并,但是網上找了不少方法都沒有頭緒。于是自己測試并編寫了該段代碼。
$('#id).DataTable().on( 'draw', function () {
var rows = [],nodes = myTable.column(需要合并的列索引值).nodes();
nodes.each(function(cell,i){
if(i != 0) {
if($(cell).text() == $(nodes[i-1]).text()) {
var row = rows.pop();
rows.push({
cell: cell,
rowspan: row.rowspan+1,
});
} else {
rows.push({
cell : cell,
rowspan: 1,
});
}
} else {
rows.push({
cell : cell,
rowspan: 1,
});
}
});
var index = 0;
$(rows).each(function(cell,item){
$(nodes[index]).attr('rowspan',item.rowspan);
for(var i = 1; i<item.rowspan;i++){
$(nodes[index+i]).remove();
}
index += item.rowspan;
});
})
5.窗口改變大小后自動改變大小
$(window).resize(function(){
$('.table-sort').css('width','100%') //如果選定的元素不是自適應,則需要使用js修改選定元素的寬度
myTable.columns.adjust().draw();
});
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。