1

WebアプリケーションのJavaScriptコードでは、テーブルソーターは次のように定義されます。

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

したがって、ページが更新されると、テーブルの並べ替えは保存されますが、ブラウザを閉じると、テーブルは元の並べ替えに戻ります。だから私が欲しいのは、テーブルがどのようにソートされているかを取得し、それをデータベースに保存することです。テーブルの並べ替え方法を保存するCookieを取得する方法を教えてもらえますか?ありがとう

4

2 に答える 2

2

saveSortウィジェット(デモ)が情報を保存するとき、最初にブラウザで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」はWebページのURLです
  • 「0」または「1」は、ページ上のテーブルIDまたはテーブルのインデックスのいずれかです。
  • 「sortList」には、実際のソートリスト値が含まれています

上記のデータからわかるように、1つのWebページに2つのテーブルの並べ替え情報が保存されています。

于 2012-06-21T17:56:46.410 に答える
-1

jQuery を使用して、並べ替えられた列で Cookie を保存できます。次回そのページが読み込まれるときに、jQuery またはサーバー側のロジックを使用して Cookie の値を取得し、適切な列を並べ替えます。これは役に立つかもしれません: jQuery はブラウザに対して Cookie を読み書きできますか?

于 2012-06-18T09:53:58.113 に答える