如何按DataTables中的隐藏列进行排序?

时间:2016-06-28 14:37:39

标签: javascript jquery datatables

当我将DataTables应用于以下内容时:

<td class="years"><?php $years."-years" ?></td>
<td class="..." ...
... other <td> ...

我的表显示如下:

10-years ... ... ...
10-years ... ... ...
5-years  ... ... ...
7-years  ... ... ...
9-years  ... ... ...

因为字母顺序。我需要10-years出现在底部。为此,我在<td class="hidden"><?php $years ?></td>之后添加了<td class="years"><?php $years."-years" ?></td>并将"order": [ 1, 'asc' ]添加到数据表初始化中:

$(".table-rates").DataTable( {
   "order": [ 1, 'asc' ]
});

之后它停止工作并开始在控制台中报告错误:&#34;无法读取属性&#39; mData&#39;未定义&#34;。

有人可以解释我如何通过DataTables中的隐藏列进行排序吗?我在线查询,但解决方案对我不起作用。更糟糕的是,语法非常混乱,难以理解。任何帮助,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:4)

它的必要添加其他列,您可以使用data-attributes数据表,添加您的HTML代码data-order

<td class="years" data-order="<?php $years ?>"><?php $years."-years" ?></td>

你的代码JS:

$(document).ready(function() {
    $('#example').DataTable({
        "order": [ 0, 'asc' ]
    });
});

结果: https://jsfiddle.net/cmedina/7kfmyw6x/69/