如何从存储排序的jquery tablesorter获取cookie值?

时间:2012-06-18 09:34:54

标签: javascript jquery tablesorter

在Web应用程序的JavaScript代码中,表分类器由以下内容定义:

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

saveSort

该值可能看起来有点令人困惑,但它只是一种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”包含实际的排序列表值

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

答案 1 :(得分:-1)

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