使用出色的dataTables jQuery插件,我无法为“ aaSorting”参数创建动态数组。根据文档,“ aaSorting”参数采用一个包含列和排序顺序的数组(或数组数组)。我需要为正在处理的表创建一个动态数组,并使用为表aaSorting参数添加的sortCol和sortOrder自定义表属性的值。我以为我可以做...

var sortCol = $('#mytable').attr('sortCol');
var sortOrder = $('#mytable').attr('sortOrder');
var sortData = [];
if(sortCol != '' && sortOrder != ''){
     sortData[sortCol] = sortOrder;
}


然后在我的dataTable初始化中,将sortData变量用作“ aaSorting”参数的值。但是,这不起作用。任何人都可以提供有关如何构造数组以便dataTables使用它进行排序的任何见解。

var myTableObject = dataTable({
     "oLanguage": "Search",
     "aaSorting": sortData
});

最佳答案

aaSorting是一个数组数组。每个嵌套数组都有两个元素。第一个是列号,第二个是顺序(即asc或desc)。您正在使用一维数组进行aaSorting,请尝试[[0, "asc"]]

更新

var sortCol = $('#mytable').attr('sortCol');
var sortOrder = $('#mytable').attr('sortOrder');
var sortData = [];
if(sortCol != '' && sortOrder != ''){
     sortData.push( [sortCol, sortOrder] );
}




// Sort by 3rd column first, and then 4th column
$(document).ready( function() {
  $('#example').dataTable( {
    "aaSorting": [[2,'asc'], [3,'desc']]
  } );
} );

09-20 17:26