我对dataTable真的很陌生,我只需要一个简单的解决方案:
var initBasicTable = function() {
var table = $('#basicTable');
var settings = {
"sDom": "t",
"sPaginationType": "bootstrap",
"destroy": true,
"paging": false,
"scrollCollapse": true,
"order": [[0,'desc']]
};
table.dataTable(settings);
$('#basicTable input[type=checkbox]').click(function() {
if ($(this).is(':checked')) {
$(this).closest('tr').addClass('selected');
} else {
$(this).closest('tr').removeClass('selected');
}
});
}
这是有效的,默认情况下对第一列进行排序。
但我读到将0
中的"order": [[0,'desc']]
更改为负数将从右侧的列开始排序。但是这个:
var settings = {
"sDom": "t",
"sPaginationType": "bootstrap",
"destroy": true,
"paging": false,
"scrollCollapse": true,
"order": [[-1,'desc']]
};
引发错误,我不知道从哪里继续。
我知道dataTable非常强大,但是, this is no what I was looking for but plenty already
“按最后(-1)列排序”没有任何内容?我感到迷茫。任何人?
答案 0 :(得分:8)
事情证明并非如此,只需要做一些努力:
var table = $('#basicTable');
var index = $(table).find('th:last').index();
var settings = {
"sDom": "t",
"sPaginationType": "bootstrap",
"destroy": true,
"paging": false,
"scrollCollapse": true,
"order": [
[index, "desc"]
]
};
这将获得最后一列'的索引。并先对它进行排序。谢谢你的帮助。
答案 1 :(得分:3)
答案 2 :(得分:1)
只需使用dataTables中的重绘功能:
table.order([0, 'desc']).draw();
不要使用列索引的负值。只是使用正面的。 在the api中,没有提及可订购列的负列索引。
如果您现在无法关注我,请阅读:“https://datatables.net/reference/api/order%28%29”