最近搞的后臺(tái),框架用的h-ui,里邊用到了datable。
這里介紹一下:datatable是一款基于jQuery的表格插件,簡(jiǎn)單易用。
話不多說(shuō),開(kāi)始敲bug:
table=$('.table-sort').dataTable({
serverSide: true,
orderable:false,
searching: false,
lengthChange: false,
pageLength: 15,
sort : false,
ajax:{
url: "接口地址",
type: "POST",
contentType: "application/x-www-form-urlencoded",
async : false,
dataType : 'json',
data:function(d){
//通過(guò)形參"d"可以獲取到datable自帶的參數(shù)信息,然后計(jì)算和轉(zhuǎn)換設(shè)置接口所需要的參數(shù)
//我的服務(wù)端接口配置是pageno為頁(yè)數(shù),count為數(shù)量,state是其他參數(shù)
d.pageno = d.start/d.length+1;
d.count = d.length;
d.state=$("#orderstate").val();
},
dataFilter: function (json) {//json是服務(wù)器端返回的數(shù)據(jù)
//如果服務(wù)端返回的json字符串符合datatable要求,則直接return json,若不符合則進(jìn)行以下步驟
//獲取到的是json字符串,轉(zhuǎn)換成json對(duì)象,提取所需要的數(shù)據(jù)
var dt = $.parseJSON(json);
console.log(dt);
pagetotal = dt.data.pagetotal;
list = dt.data.list;
//然后定義一個(gè)符合datatable要求的對(duì)象,data屬性的值是實(shí)際返回的數(shù)據(jù)
var returndt = {
//"draw": ,
"recordsTotal": dt.data.recordTotal,
"recordsFiltered": dt.data.recordTotal,
"data":dt.data.list
};
//把符合要求的對(duì)象再次轉(zhuǎn)為json字符串return出去
return JSON.stringify(returndt);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
window.parent.location.href="login.html";
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
}
},
"columns":[
{title:"XX",data:"oid",class:"args text-c",},
{title:"AA",data:"proname",width:"160",class:"lookde text-c",render: function(data, type, row) {
return '<u style="cursor:pointer" onClick="order_edit(this)" class="text-primary" title="查看">'+data+'</u>'; }},
{title:"CC",data:"sku",class:"sku text-c"}
],
"aaSorting": [[ 0, "desc" ]],//默認(rèn)第幾個(gè)排序
"bStateSave": true,//狀態(tài)保存
"aoColumnDefs": [
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隱藏顯示
{"orderable":false,"aTargets":[1,2,3]}// 制定列不參與排序
],
language: {
"sProcessing": "處理中...",
"sLengthMenu": "顯示 _MENU_ 項(xiàng)結(jié)果",
"sZeroRecords": "沒(méi)有匹配結(jié)果",
"sInfo": "顯示 _START_ 到 _END_,共 _TOTAL_ 項(xiàng)",
"sInfoEmpty": "顯示第 0 至 0 項(xiàng)結(jié)果,共 0 項(xiàng)",
"sInfoFiltered": "(由 _MAX_ 項(xiàng)結(jié)果過(guò)濾)",
"sInfoPostFix": "",
"sSearch": "從當(dāng)前數(shù)據(jù)中檢索:",
"sUrl": "",
"sEmptyTable": "表中數(shù)據(jù)為空",
"sLoadingRecords": "載入中...",
"sInfoThousands": ",",
"oPaginate": {
"sFirst": "首頁(yè)",
"sPrevious": "上頁(yè)",
"sNext": "下頁(yè)",
"sLast": "末頁(yè)"
},
"oAria": {
"sSortAscending": ": 以升序排列此列",
"sSortDescending": ": 以降序排列此列"
}
}
});