jQuery tablesorter, как найти объект sortList

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


person Chris    schedule 10.11.2010    source источник


Ответы (3)


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

var currentSort;

$("#yourtableId").tablesorter({
    // initialization
}).bind("sortEnd", function(sorter) {
    currentSort = sorter.target.config.sortList;
});
person Bryan    schedule 10.11.2010
comment
Без проблем. Рад, что смог помочь. :) - person Bryan; 11.11.2010
comment
Любить это. Любите все об этом. Вот и все :) - person HeavenCore; 03.12.2013

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

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

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

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

person e-motiv    schedule 13.07.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>
person tijntest    schedule 01.12.2014