Javascript DataTables按列名进行二次排序单击
我试图做的是第1列的第二种排序,如果第13列在页面上被点击,但不中断任何其他点击列的功能 这是jQuery数据表代码Javascript DataTables按列名进行二次排序单击,javascript,jquery,sorting,datatables,jquery-datatables,Javascript,Jquery,Sorting,Datatables,Jquery Datatables,我试图做的是第1列的第二种排序,如果第13列在页面上被点击,但不中断任何其他点击列的功能 这是jQuery数据表代码 $('#table-report').dataTable({ "aLengthMenu": [[10, 25, 50, 100], [10, 25, 50, 100]], "iDisplayLength": 10, "bFilter": true, "bInfo": false,
$('#table-report').dataTable({
"aLengthMenu": [[10, 25, 50, 100], [10, 25, 50, 100]],
"iDisplayLength": 10,
"bFilter": true,
"bInfo": false,
"sEmptyTable": "No data returned for values input.",
"sDom": '<top>l',
"sPaginationType": "full_numbers",
"bJQueryUI": false,
"aoColumnDefs":
[
{ 'bSortable': true, "aTargets": [0, 17] },
{ "sType": "time-us", "aTargets": [16] }
],
"oLanguage": {
"sLengthMenu": "View Per Page _MENU_ ",
"sSearch": "Search all columns:"
}
});
到“aoColumnDefs”
。问题在于,排序(主要和次要的正确排序)发生在页面加载时,并禁用按任何其他列排序的功能
有人知道我如何才能在单击第13列标题时更改我必须执行的二次排序,而不通过单击相应的列标题禁用任何其他列的排序功能吗?从定义名称的外观来看,这看起来像是您使用了旧版本的Datatables(1.9?) 对于1.9,请尝试以下操作:
"aaSorting": [ [13,'asc'], [1,'asc'] ]"
或者,更新到1.10会给您的代码一个选项,您尝试了更好的机会运行而不会崩溃。Allen(Datatables的制造商)在向后兼容性方面做得很好我终于得到了
最后,我向Route列标题添加了一个id,并在单击时手动调用fnsort
:
$('#dataTableId').fnSort([[13, 'asc'], [1, 'asc']])
$('#dataTableId').fnSort([[13, 'asc'], [1, 'asc']])