2010-11-10 83 views
13

我正在使用jQuery tablesorter插件。我想存儲用戶如何在頁面上對錶格進行排序,並在下次頁面加載時自動進行排序。爲此,我首先需要能夠找到存儲表的排序方式的sortList對象。對於我的生活,我無法弄清楚如何得到它。文檔似乎沒有任何關於此的內容,我嘗試了所有我能想到的。jQuery tablesorter如何查找sortList對象

回答

28

您需要將您的表格元素綁定到tablesorter sortEnd事件。該對象的所有數據都被傳遞給處理程序。然後,您可以得到當前有點像這樣:

var currentSort; 

$("#yourtableId").tablesorter({ 
    // initialization 
}).bind("sortEnd", function(sorter) { 
    currentSort = sorter.target.config.sortList; 
}); 
+0

這工作完美。謝謝布萊恩! – Chris 2010-11-11 14:03:29

+0

沒問題。很高興我能幫上忙。 :) – Bryan 2010-11-11 18:41:56

+0

喜歡它。喜歡它的一切。就這些 :) – HeavenCore 2013-12-03 18:07:16

1

這可能是開銷少了幾分保存,只有當你需要像這樣的最後排序:

lastSortList=$("#mytable")[0].config.sortList; 

記得聲明變量正確的範圍。

(我覺得questioneer的問題可能是,他必須通過[0],而不是jQuery的元素得到的DOM元素。)

-1

這就是我成功地做到這一點:

<?php 
// Set session variables 
$_SESSION["sortlistsessie"] = "[[0,0],[2,1]]"; 
?> 


<script language="javascript" type="text/javascript"> 

//document.cookie="TestCookie3=[[0,0],[2,1]]"; 
$(document).ready(function() { 
// extend the default setting to always include the zebra widget. 
$.tablesorter.defaults.widgets = ['zebra']; 
// extend the default setting to always sort on the first column 
$.tablesorter.defaults.sortList = <?php print_r($_SESSION["sortlistsessie"] 
);   ?>//  <?php $_SESSION["sortlistsessie"];?>; //<?php echo  
$_COOKIE["TestCookie3"]; ?>; 
// call the tablesorter plugin 
$("#searchTable").tablesorter(); 
}); 
</script>