使用自定义表格标签 DataTables jQuery 进行动态排序
Posted
技术标签:
【中文标题】使用自定义表格标签 DataTables jQuery 进行动态排序【英文标题】:Dynamic Sorting using custom table tags DataTables jQuery 【发布时间】:2014-01-05 14:35:39 【问题描述】:使用出色的 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 var作为“aaSorting”参数的值。但是,这不起作用。任何人都可以提供有关必须如何构造数组以便 dataTables 使用它进行排序的任何见解。
var myTableObject = dataTable(
"oLanguage": "Search",
"aaSorting": sortData
);
【问题讨论】:
sortCol 和 sortOrder 属性的值是多少? sortData 有什么价值? sortCol 值在本例中设置为 0,sortOrder 设置为“asc”。所以 sortData = [0, "asc"] 【参考方案1】: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']]
);
);
【讨论】:
就是这样!谢谢@Binary Alchemist以上是关于使用自定义表格标签 DataTables jQuery 进行动态排序的主要内容,如果未能解决你的问题,请参考以下文章