jquery - DataTable 按月份编号排序,月份名称作为数据

标签 jquery twitter-bootstrap datatable

我有一个表,其中第一列作为月份名称(一月、二月...),我想根据月份数对行进行排序。首先是一月,然后是二月,依此类推。

如果我愿意

table.fnSort([[ 0, "asc"]]);

我得到了按月份名称排序的表格。

最终我得到了这个 http://drmsite.blogspot.co.il/2013/08/datatables-custom-sort-by-month-name.html ,但只有当我单击该列的标题时它才起作用。 我需要在加载时按月份对表格进行排序。谁能帮我吗?

最佳答案

您可以实现自己的排序插件来做到这一点。这很简单。这里我定义了一个月份数组,在排序之前我返回索引而不是月份。

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
    "date-range-pre": function ( a ) {
        var monthArr = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
        return monthArr.indexOf(a); 
    },
     "date-range-asc": function ( a, b ) {
        return ((a < b) ? -1 : ((a > b) ? 1 : 0));
    },
     "date-range-desc": function ( a, b ) {
        return ((a < b) ? 1 : ((a > b) ? -1 : 0));
    }
} );

// Apply date-range sorting with your DataTable init
var table = $('#example').DataTable({ // example is your table id
    columnDefs: [
       { type: 'date-range', targets: 0 }
    ]
}) 

这是一个工作 demo .

关于jquery - DataTable 按月份编号排序,月份名称作为数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33475013/

相关文章:

javascript - 在 jQuery 高度动画之后关注 Webkit 中的文本区域

twitter-bootstrap - 在移动模式下导航(链接单击)时折叠导航栏

html - 如何将图像放入没有空格的框中

c# - 过滤DataTable中的空字符串

javascript - 数据表。在循环中隐藏/显示多行

C# - SqlDataAdapter 无论如何都不会填充 DataTable

javascript - Jquery 通过数据切换禁用 Span

javascript - JQuery 从 tr 动态创建的输入中获取值

javascript - 如何单独用jQuery解析xml属性?

php - Bootstrap 模式 + PHP + AJAX