Używam wtyczki tablesorter jQuery. Chcę zapisać, w jaki sposób użytkownik posortował tabelę na stronie i automatycznie sortuje w ten sposób przy następnym ładowaniu strony. Aby to zrobić, najpierw muszę znaleźć obiekt sortList przechowujący sposób sortowania tabeli. Dla mojego życia nie mogę wymyślić, jak je zdobyć. Dokumentacja najwyraźniej nie ma nic na ten temat i próbowałem wszystkiego, co mogę wymyślić.jQuery tablesorter jak znaleźć obiekt sortList
13
A
Odpowiedz
28
Musisz powiązać swój element tabeli z wydarzeniem tablesorter sortEnd
. Wszystkie dane dla tego obiektu są przekazywane do programu obsługi. Następnie można uzyskać aktualny rodzaj tak:
var currentSort;
$("#yourtableId").tablesorter({
// initialization
}).bind("sortEnd", function(sorter) {
currentSort = sorter.target.config.sortList;
});
1
To może być nieco mniejszy narzut zapisać ostatni rodzaj tylko wtedy, gdy jest to potrzebne tak:
lastSortList=$("#mytable")[0].config.sortList;
pamiętać, aby zadeklarować zmienną w właściwy zakres oczywiście.
(myślę, że problemem questioneer prawdopodobnie było to, że musiał dostać element DOM poprzez [0]
a nie elementu jQuery).
-1
ten sposób udało mi się zrobić:
<?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>
Zadziałało doskonale. Dzięki, Bryan! – Chris
Bez problemu. Cieszę się, że mogłem pomóc. :) – Bryan
Uwielbiam to. Uwielbiam wszystko na ten temat. To wszystko :) – HeavenCore