JQuery tablesorter как найти объект sortList
Я использую плагин jQuery tablesorter. Я хочу сохранить, как пользователь отсортировал таблицу на странице и автоматически сортирует ее при следующем загрузке страницы. Для этого мне сначала нужно найти объект sortList, который хранит сортировку таблицы. Для жизни я не могу понять, как ее получить. В документации нет ничего подобного, и я пробовал все, что мог придумать.
Ответы
Ответ 1
Вам необходимо привязать элемент table к событию tablesorter sortEnd
. Все данные для этого объекта передаются обработчику. Затем вы можете получить текущий вид следующим образом:
var currentSort;
$("#yourtableId").tablesorter({
// initialization
}).bind("sortEnd", function(sorter) {
currentSort = sorter.target.config.sortList;
});
Ответ 2
Это может быть немного меньше накладных расходов, чтобы сохранить последний вид, только когда вам это нужно:
lastSortList=$("#mytable")[0].config.sortList;
Не забудьте указать переменную в правильной области действия.
(Я думаю, что проблема опроса, вероятно, заключалась в том, что он должен был получить элемент DOM через [0]
, а не элемент jQuery.)
Ответ 3
вот как мне это удалось:
<?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>