您当前的代码:
$('table').dataTable({
// display everything
"iDisplayLength": -1
});
你可以这样做:
oTable = $('table').dataTable({
// display everything
"iDisplayLength": -1
});
oTable.fnSort( [ [0,'desc'] ] ); // Sort by first column descending
但是如下评论所指出的,这可能是一种更简洁的方法:
$('table').dataTable({
// display everything
"iDisplayLength": -1,
"aaSorting": [[ 0, "desc" ]] // Sort by first column descending
});
$('table').dataTable({ "iDisplayLength": -1 "aaSorting": [[ 0, "desc" ]] });
- shaheeneryDataTables默认使用字母顺序作为排序方法,这就是实际发生的情况。
有两种解决方法:
如果您希望用户能够自己对列进行排序,则可以使用第一种解决方法。
--------------- 第一种解决方法:
我们需要告诉DataTables插件如何处理我们的列。您需要使用"aoColumns"属性:
$('table').dataTable({
// display everything
"iDisplayLength": -1,
"aoColumns":[
{"sType": "shaheenery-date"},
{"bSortable": true},
{"bSortable": true},
{"bSortable": true},
{"bSortable": true}
]
});
然后定义“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;
};
--------------- 第二种解决方案:
我们将再次使用"aoColumns"属性。这一次,我们告诉DataTable隐藏最后一列,它将包含Unix时间戳中的日期。我们还需要将该列定义为默认排序列,并使用"aaSorting"进行设置:
$('table').dataTable({
// display everything
"iDisplayLength": -1,
"aaSorting": [[ 5, "desc" ]],
"aoColumns":[
{"bSortable": false},
{"bSortable": true},
{"bSortable": true},
{"bSortable": true},
{"bVisible": false}
]
});
oTable = $('#DataTables_Table_0').dataTable({ //table id -->DataTables_Table_0
iVote: -1, //field name
"bRetrieve":true
});
oTable.fnSort( [ [1,'desc'] ] ); // Sort by second column descending
var data_table = $('#data-table').DataTable();
data_table.order( [7,'desc'] ).draw();
$('#id').dataTable( { "bSort": true, "aoColumnDefs": [{ 'bSortable': false, 'aTargets': [ 1 ] } ] });这段代码是使用jQuery插件DataTables来创建一个表格,并设置了排序和禁用第二列的排序功能。
$('#id').dataTable( {
""aaSorting": [[ "0", "<"desc" or asc>"]]
});
$('#id').dataTable( {
""aaSorting": [[ "0", "<"desc" 或者 "asc">"]]
});