2010-11-10 9 views
13

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

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; 
}); 
+0

Zadziałało doskonale. Dzięki, Bryan! – Chris

+0

Bez problemu. Cieszę się, że mogłem pomóc. :) – Bryan

+0

Uwielbiam to. Uwielbiam wszystko na ten temat. To wszystko :) – HeavenCore

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> 
Powiązane problemy