jquery数据表重置排序

jquery数据表重置排序,jquery,sorting,datatable,Jquery,Sorting,Datatable,我正试着做一项任务,就像这样 我有一个工作的jquery数据表 我想要一个函数来重置排序,这是在用户选择任何列之前,与从HTML读取相同 这让我找到了一个不错的插件 然而,我不知道“如何使它工作”。有人知道什么是“oApi”,或者在我使用这个插件之前我需要更多的设置吗 因为我的脚本显示为未捕获类型错误:无法在复制脚本后立即读取未定义的属性“oApi”,并且该错误使函数未定义。我该怎么办?您提供的链接中有一个用法示例 var table = $('#example').dataTable()

我正试着做一项任务,就像这样

  • 我有一个工作的jquery数据表
  • 我想要一个函数来重置排序,这是在用户选择任何列之前,与从HTML读取相同
这让我找到了一个不错的插件

然而,我不知道“如何使它工作”。有人知道什么是“oApi”,或者在我使用这个插件之前我需要更多的设置吗


因为我的脚本显示为未捕获类型错误:无法在复制脚本后立即读取未定义的属性“oApi”,并且该错误使函数未定义。我该怎么办?

您提供的链接中有一个用法示例

var table = $('#example').dataTable();

// Sort in the order that was originally in the HTML
table.fnSortNeutral();
编辑初始化时,尝试为其指定“订单”属性:


对于DataTable,可以使用1.10+

插件代码

$.fn.dataTable.Api.register('order.neutral()',function(){
返回此.iterator('table',函数){
s、 aaSorting.length=0;
s、 aiDisplay.sort(函数a、b){
返回a-b;
} );
s、 aiDisplayMaster.sort(函数(a,b){
返回a-b;
} );
} );

} );table.fnSortNeutral()行之前
run,插件脚本本身有一个错误
uncaughttypeerror:无法读取未定义的属性'oApi',因此无法运行。感谢您的贡献。对我来说,最好使用
aaSorting:[]
属性,并且我放置了一个按钮来运行重置排序功能。以下是其他喜欢参考的人的编辑用法:
var table = $('#example').dataTable();

// Sort in the order that was originally in the HTML
table.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 );
};

$(document).ready(function() {
    var oTable = $('#example').dataTable({
        "order" : [[ 1, "desc" ]]
    });

    setTimeout(function() {
        oTable.fnSortNeutral()
    }, 1000)

});