我使用jQuery Tablesorter插件對我的表進行排序,並希望使用jquery cookie插件將選擇內容保存到cookie中。在cookie中保存tablesorter選項
有沒有人做過類似的事情?或者會知道如何做到這一點?
我使用click()
事件作爲我的表分割成幾部分e.g排序:
function setupTablesorter() {
var currentSort;
var cookieSortList = $.evalJSON($.cookie("table_sort_list"));
if (cookieSortList == null)
cookieSortList = [[1, 0]]
$('table').each(function (i, e) {
var myHeaders = {}
$(this).find('th.nosort').each(function (i, e) {
myHeaders[$(this).index()] = { sorter: false };
});
$(this).tablesorter({ sortList: cookieSortList, widgets: ['zebra'], headers: myHeaders }).bind("sortEnd", function (sorter) {
currentSort = sorter.target.config.sortList;
});
});
$(".uiGridHeader th").click(function() {
$.cookie("table_sort_list", $.toJSON(currentSort));
});
console.log(currentSort);
}
function setupFixedHeader() {
var copyThead = $(".uiGridContent thead").html();
var copyCol = $(".uiGridContent colgroup").html();
copyThead = '<table>' + copyCol + '<thead>' + copyThead + '</thead></table>';
$(".uiGridHeader").html(copyThead);
$(".uiGridContent table").tablesorter();
$(".uiGridContent table thead").hide();
function bindClick() {
$(".uiGridHeader th").click(theadClick);
}
var direction = 0;
function theadClick() {
console.log('click');
if (direction) {
direction = 0;
} else {
direction = 1;
}
var index = $(this).index();
var sorting = [[index, direction]];
$(".uiGridContent table").trigger("sorton", [sorting]);
var FindcopyThead = $(".uiGridContent thead").html();
var FindcopyCol = $(".uiGridContent colgroup").html();
var NewcopyThead = '<table>' + FindcopyCol + '<thead>' + FindcopyThead + '</thead></table>';
$(".uiGridHeader").html(NewcopyThead);
bindClick();
}
bindClick();
}
所以在功能某處我需要記錄的選擇在Cookie中。
發生此錯誤:未捕獲的類型錯誤:無法設置未定義的屬性「計數」並檢查其值爲:2%2C1任何想法?問題是什麼?我甚至嘗試過包裝cookie:'var cookieSortList = [[$ .cookie(「table_sort_list」)]];'但仍然出現錯誤。 – Cameron
我也在使用您發佈的問題中提到的綁定,但似乎沒有使用正確的數據 – Cameron
請參閱OP以獲取我的更新代碼 – Cameron