在渲染函数中使用HTML时,如何使用DataTables中的正交数据进行排序

How do I use orthogonal data in DataTables to sort when using HTML in a render function?

本文关键字:DataTables 数据 何使用 排序 函数 HTML      更新时间:2023-09-26

这里有一个基本的例子来展示我面临的问题:http://jsfiddle.net/phb9Lms6/2/

如果你点击"总计"列,你会发现排序工作不正常。这个问题与我在其中有一些HTML(span标签上写着"current")有关。

这是一个淡化的例子;实际上,数字是从AJAX请求中拉进来的。但概念是一样的,正如你所看到的,我正在使用一个渲染函数来格式化它们。仅仅添加逗号似乎不会对排序产生负面影响,但只要添加<span>标记,排序就会中断(在本例中的_formatStuff函数中)。

$('#test_sort').dataTable({
    columns: [
        {},
        {render: _formatStuff}
    ],
    columnDefs: [
        {targets: 1, className: 'right'}
    ],
    paging: false,
    searching: false,
    info: false
});

我在DataTables文档中读到了正交数据,但我不清楚该如何使用它。除了render之外,我还可以添加一些其他属性,使其使用原始值作为排序值吗?现在它似乎在使用columns.render的输出,这显然是有问题的。

我想明白了。DataTables论坛上的一些人引导我走上了通往答案的正确道路。我只需要使用一个不推荐使用的排序插件,然后在列上指定sType字段,就可以了。