jQuery数据表 - 全局保存过滤器设置

时间:2014-05-26 08:17:31

标签: jquery datatables local-storage

我正在使用Datatables 1.10并将带有“saveState”选项的过滤器设置保存到localStorage中。这非常好用,但现在我正在寻找使过滤器设置全局化的可能性。

Wenn我打开网址:www.example.com/table/1并进行一些过滤设置,然后转到www.example.com/table/2,应该应用相同的过滤设置。

这可能吗?

到目前为止,我打印出localStorage,可以看到datatables为每个网址创建了一个唯一的存储条目。

谢谢

1 个答案:

答案 0 :(得分:4)

好的,我找到了一个很好的解决方案。数据表本身具有良好的回调功能,可以自定义saveState-Option以将其全局使用:

 $("#table").dataTable({
    "paging": false,
    "info": false,
    "stateSave": true,
    "stateSaveCallback": function (settings, data) {
        // save the filter settings without connecting it to a unique url
        localStorage.setItem("dataTables_filterSettings", JSON.stringify(data));
    },
    "stateLoadCallback": function (settings) {
        // read out the filter settings and apply
        return JSON.parse(localStorage.getItem("dataTables_filterSettings"));
    },
    "ajax": {
        "url": "www.example.com"
    },
    "columns": [
        { ... },
        { ... }
    ]
});