基本上,jQuery Datatable允许我们按列索引对数据进行排序。
"order": [1, 'desc']
我想知道我们是否可以按列标题名称排序?例如:
"order": ['my_column_name', 'desc']
三江源 亚历
答案 0 :(得分:4)
Is there a way to use the name, data or class of the column in order to set the default column sort? 不 - 不是在这个时候。
虽然这个帖子是在2015年6月发布的,但我仍然无法在最新版本的DataTable中找到这样的功能。
作为旁注!您在订购DataTable数据时必须提供column index
,但您可以获得应用了哪种排序的Column Name
。
var order = table.order();
var columnIndex = order[0][0]; //column index
var orderDirection =order[0][1]; // asc or desc
//Get column header text;
var title = table.column(order[0][0]).header();
var columnName = $(title).html(); //Column Name
的 Demo 强>
答案 1 :(得分:0)
我找到了解决此问题的解决方案
var column1 = table.parents('table').find("th:contains('Your th text')")[0].cellIndex;
var column2 = table.parents('table').find("th:contains('Your th text')")[0].cellIndex;
table.parents('table').dataTable({
order: [[column1, 'asc'], [column2, 'asc']]
});
答案 2 :(得分:0)
首先通过jquery查找列索引,
然后在数据表函数中插入列索引。
var sort_col = $('#table').find("th:contains('your column name')")[0].cellIndex;
$('#table').dataTable({
order: [[ sort_col, 'desc' ]]
});
这对我有用。希望这可以帮助。谢谢