jQuery tablesorter如何查找sortList对象

时间:2010-11-10 23:33:09

标签: jquery sorting tablesorter

我正在使用jQuery tablesorter插件。我想存储用户如何在页面上对表进行排序,并在下次页面加载时自动排序。为此,我首先需要能够找到存储表的排序方式的sortList对象。对于我的生活,我无法弄清楚如何得到它。文档似乎没有任何内容,我已经尝试了我能想到的一切。

3 个答案:

答案 0 :(得分:28)

您需要将table元素绑定到tablesorter sortEnd事件。该对象的所有数据都传递给处理程序。然后你可以得到当前的排序:

var currentSort;

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

答案 1 :(得分:1)

只有当你需要它时,保存最后一种排序可能会少一些开销:

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

请记住在适当的范围内声明变量。

(我认为问题者的问题可能是他必须通过[0]获取DOM元素,而不是jQuery元素。)

答案 2 :(得分:-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>