我正在使用Datatables 1.10并将带有“saveState”选项的过滤器设置保存到localStorage中。这非常好用,但现在我正在寻找使过滤器设置全局化的可能性。
Wenn我打开网址:www.example.com/table/1并进行一些过滤设置,然后转到www.example.com/table/2,应该应用相同的过滤设置。
这可能吗?
到目前为止,我打印出localStorage,可以看到datatables为每个网址创建了一个唯一的存储条目。
谢谢
答案 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": [
{ ... },
{ ... }
]
});