1

在 Web 应用程序的 JavaScript 代码中,表格排序器定义为:

$("#my-table").tablesorter({
    headers: { 
       1: { 
               sorter: false
           }
    },
    widgets: ["saveSort"] 
});

因此,当页面刷新时,表格的排序被保存,但是当浏览器关闭时,表格恢复到原来的排序。所以我想要的是获取表格的排序方式并将其保存到数据库中。有人可以建议我如何获取存储表格排序方式的 cookie 吗?谢谢

4

2 回答 2

2

saveSort小部件 ( demo ) 保存信息时,它首先测试浏览器的 localStorage,然后如果不可用,它会回退到将排序保存到 cookie。因此,您可以使用内置在小部件文件中的函数,如下所示:

var myTable = $('#table1')[0],
    myLastSort = $.tablesorter.storage( myTable, 'tablesorter-savesort');

或者,如果您使用的是 Chrome,请转到该页面并按 F12。现在单击资源选项卡并在“本地存储”下查看

保存排序

该值可能看起来有点混乱,但它只是一个 JSON 格式:

{
    "/tablesorter/docs/example-widget-savesort.html": {
        "0": {
            "sortList": [ [0,0],[2,1] ]
        },
        "1": {
            "sortList": [ [0,0] ]
        }
    }
}

它被分解如下:

  • “/tablesorter/docs/example-widget-savesort.html”是网页的网址
  • “0”或“1”可以是表格 ID 或页面上表格的索引
  • “sortList”包含实际的排序列表值

正如您在上面的数据中看到的那样,它在一个网页上保存了两个表的排序信息。

于 2012-06-21T17:56:46.410 回答
-1

您可以使用 jQuery 来保存带有排序列的 cookie。下次加载该页面时,使用 jQuery 或服务器端逻辑来获取 cookie 的值,并对相应的列进行排序。这可能是有用的阅读:Can jQuery read/write cookies to a browser?

于 2012-06-18T09:53:58.113 回答