I am using the jQuery tablesorter plugin. I am wanting to store how a user has sorted the table on the page and automatically sort that way the next time the page loads. To do
It might be a bit less overhead to save the last sort only when you need it like this:
lastSortList=$("#mytable")[0].config.sortList;
Remember to declare the variable in the right scope of course.
(I think the questioneer's problem probably was that he had to get the DOM element via [0]
and not the jQuery element.)
You need to bind your table element to the tablesorter sortEnd
event. All the data for that object is passed in to the handler. You can then get the current sort like so:
var currentSort;
$("#yourtableId").tablesorter({
// initialization
}).bind("sortEnd", function(sorter) {
currentSort = sorter.target.config.sortList;
});
this is how I managed to do it:
<?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>