jquery dataTable重置排序

标签 jquery sorting datatable

我正在尝试执行一项任务,就像这个 question 一样.

  • 我有一个可用的 jquery 数据表
  • 我想要一个函数来重置排序,这是在用户选择任何列之前,与从 HTML 读入相同。

它引导我找到了一个不错的插件。

http://datatables.net/plug-ins/api/fnSortNeutral

jQuery.fn.dataTableExt.oApi.fnSortNeutral = function ( oSettings )
{
    /* Remove any current sorting */
    oSettings.aaSorting = [];

    /* Sort display arrays so we get them in numerical order */
    oSettings.aiDisplay.sort( function (x,y) {
        return x-y;
    } );
    oSettings.aiDisplayMaster.sort( function (x,y) {
        return x-y;
    } );

    /* Redraw */
    oSettings.oApi._fnReDraw( oSettings );
};

但是我不知道“如何让它发挥作用”。有人知道什么是“oApi”,或者在使用这个插件之前我需要进行更多设置吗?

因为我的脚本在复制脚本后立即显示 Uncaught TypeError: Cannot read property 'oApi' of undefined ,并且该错误使函数未定义。我该怎么办?

最佳答案

对于DataTable1.10+可以使用order.neutral()插件

插件代码

$.fn.dataTable.Api.register( 'order.neutral()', function () {
    return this.iterator( 'table', function ( s ) {
        s.aaSorting.length = 0;
        s.aiDisplay.sort( function (a,b) {
            return a-b;
        } );
        s.aiDisplayMaster.sort( function (a,b) {
            return a-b;
        } );
    } );
} );

CDN: cdn.datatables.net/plug-ins/1.10.19/api/order.neutral().js

示例

// Return table to the loaded data order
  table.order.neutral().draw();

关于jquery dataTable重置排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27008837/

相关文章:

javascript - jQuery-validate 每元素验证不起作用

c++ - 在 C++11 中使用 std::sort 和 lambda 函数对动态分配的多维 C 数组进行排序

html - 编写带有垂直标题的 HTML 表格的最常见方式?

c# - 如何在 GC 进行垃圾回收之前在 asp.net 中处理 DataTable?

jquery - 在带有图标的图像上创建悬停状态

javascript - 从另一个对象中访问对象属性 (JavaScript/jQuery)

javascript - 将值保存到 Chrome 扩展中的文本框

c - 基数排序循环错误

python - 如何从 pandas 的累积总和中获取实际值

.net - DataTable 已属于另一个 DataSet