JQuery编辑DataTable Sort事件

时间:2016-07-22 11:40:42

标签: jquery datatables

是否可以在jquery.dataTable中修改排序事件? 我想更改表行的颜色,当我对列进行排序时,它们已经被搜索输入过滤了。

$('.results').dataTable({
    "bSort":true, //this one
    "aaSorting": [],
    "bFilter":false,
    "paging":false,
    "bPaginate":false,
    "bInfo":false
});

修改

我的工作代码:

$('.results').dataTable({
    "bSort":true,
    "aaSorting": [],
    "bFilter":false,
    "bPaginate":false,
    "bInfo":false,
    "fnDrawCallback": function() {
        if(this.fnSettings().bSorted)
            console.log("Sort fired");
    }
});

PS:添加了this.fnSettings()。bSorted来检测什么事件被触发分页,过滤,排序等。

1 个答案:

答案 0 :(得分:0)

  1. 可以编辑排序事件:google“datatables sort event”并阅读您找到的第一个链接。
  2. 更改表格行的颜色:google“datatables更改默认样式”并阅读您找到的第一个链接。
  3. 对列进行排序时:请参阅#1。
  4. 虽然它们已经被搜索输入过滤了:google“datatables会检查是否应用过滤器”并阅读您找到的第一个链接。
  5. 一旦您完成了这项研究并将其应用于您的问题,如果您仍然无法完全解决问题,那么您可以回复一些关于您遇到的问题的更具体的问题。

    我会为你解释一件事,因为它并不完全是显而易见的。较新版本的DataTables已经远离所有那些模糊的选项前缀,现在只使用一个描述性的单词。但是,由于向后兼容的原因,它们保留了旧版本。因此,在您的代码示例中,pagingbPaginate的较新版本,它们执行相同的操作。 bSort现在为orderableaaSorting现为orderbInfo现为infobFilter现为searching }}。由于bFilter: false关闭了搜索功能,您可能希望删除它以获得所需内容,因为“当它们已经被搜索输入过滤时”并不是指定选项时可以存在的内容删除搜索输入。