jQuery TableSorter, как найти объект sortList - PullRequest
13 голосов
/ 11 ноября 2010

Я использую плагин jQuery tablesorter. Я хочу сохранить информацию о том, как пользователь отсортировал таблицу на странице, и автоматически сортировать ее таким образом при следующей загрузке страницы. Чтобы сделать это, мне сначала нужно найти объект sortList, в котором хранится порядок сортировки таблицы. За свою жизнь я не могу понять, как ее получить. В документации, похоже, ничего нет, и я перепробовал все, что мог придумать.

Ответы [ 3 ]

28 голосов
/ 11 ноября 2010

Вам необходимо привязать элемент таблицы к событию tableorter sortEnd.Все данные для этого объекта передаются в обработчик.Вы можете получить текущую сортировку следующим образом:

var currentSort;

$("#yourtableId").tablesorter({
    // initialization
}).bind("sortEnd", function(sorter) {
    currentSort = sorter.target.config.sortList;
});
1 голос
/ 13 июля 2014

Сохранение последней сортировки может потребовать немного меньше времени, только когда вам это нужно, например:

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

Не забудьте объявить переменную в нужной области видимости.

(Я думаю, что проблема спрашивающего, вероятно, заключалась в том, что он должен был получить элемент DOM через [0], а не элемент jQuery.)

0 голосов
/ 01 декабря 2014

вот как мне удалось это сделать:

<?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>
...