Sno*_*Mac 18 sorting jquery datatables columnsorting
这是页面:
我需要按日期栏排序,现在它需要阅读11月6日,11月5日和最后一个10月7日.
我该怎么做呢?
sha*_*ery 51
您当前的代码:
$('table').dataTable({
// display everything
"iDisplayLength": -1
});
Run Code Online (Sandbox Code Playgroud)
你能做什么:
oTable = $('table').dataTable({
// display everything
"iDisplayLength": -1
});
oTable.fnSort( [ [0,'desc'] ] ); // Sort by first column descending
Run Code Online (Sandbox Code Playgroud)
但正如下面的评论所指出的,这可能是一个更简洁的方法:
$('table').dataTable({
// display everything
"iDisplayLength": -1,
"aaSorting": [[ 0, "desc" ]] // Sort by first column descending
});
Run Code Online (Sandbox Code Playgroud)
小智 13
DataTables使用字母顺序作为默认排序方法.这实际上就是这里发生的事情.
有两种解决方案:
如果您希望用户能够自己对列进行排序,则可以使用第一个解决方案.
---------------第一个解决方案:
我们需要告诉DataTable插件如何处理我们的列.您需要使用"aoColumns"属性:
$('table').dataTable({
// display everything
"iDisplayLength": -1,
"aoColumns":[
{"sType": "shaheenery-date"},
{"bSortable": true},
{"bSortable": true},
{"bSortable": true},
{"bSortable": true}
]
});
Run Code Online (Sandbox Code Playgroud)
然后定义"shaheenery-date-asc"和"shaheenery-date-desc"排序方法.您还需要一个以数字格式翻译日期的函数"getDate":
function getDate(a){
// This is an example:
var a = "Sunday November 6, 2011";
// your code =)
// ...
// ...
// You should output the result as YYYYMMDD
// With :
// - YYYY : Year
// - MM : Month
// - DD : Day
//
// Here the result would be:
var x = 20111106
return x;
}
jQuery.fn.dataTableExt.oSort['shaheenery-date-asc'] = function(a, b) {
var x = getDate(a);
var y = getDate(b);
var z = ((x < y) ? -1 : ((x > y) ? 1 : 0));
return z;
};
jQuery.fn.dataTableExt.oSort['shaheenery-date-desc'] = function(a, b) {
var x = getDate(a);
var y = getDate(b);
var z = ((x < y) ? 1 : ((x > y) ? -1 : 0));
return z;
};
Run Code Online (Sandbox Code Playgroud)
---------------第二个解决方案:
我们也将使用"aoColumns"属性.这次我们告诉DataTable隐藏包含Unix时间戳中日期的最后一列.我们还需要将此列定义为使用"aaSorting"进行排序的默认列:
$('table').dataTable({
// display everything
"iDisplayLength": -1,
"aaSorting": [[ 5, "desc" ]],
"aoColumns":[
{"bSortable": false},
{"bSortable": true},
{"bSortable": true},
{"bSortable": true},
{"bVisible": false}
]
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
77905 次 |
最近记录: |