2010-11-10 16 views
13

Estoy usando el plugin jQuery tablesorter. Deseo almacenar cómo un usuario ha ordenado la tabla en la página y ordenarla automáticamente de esa manera la próxima vez que se cargue la página. Para hacer esto, primero necesito encontrar el objeto sortList que almacena cómo se ordena la tabla. Por mi vida no puedo encontrar la manera de conseguirlo. La documentación no parece tener nada de esto y he intentado todo lo que puedo pensar.jQuery tablesorter cómo encontrar el objeto sortList

Respuesta

28

Debe enlazar su elemento de tabla con el evento tablesorter sortEnd. Todos los datos para ese objeto se pasan al manejador. A continuación, puede obtener la clasificación actual de este modo:

var currentSort; 

$("#yourtableId").tablesorter({ 
    // initialization 
}).bind("sortEnd", function(sorter) { 
    currentSort = sorter.target.config.sortList; 
}); 
+0

que funcionó perfectamente. Gracias Bryan! – Chris

+0

No hay problema. Me alegro de poder ayudar. :) – Bryan

+0

Me encanta. Amo todo sobre eso. Eso es todo :) – HeavenCore

1

Podría ser un poco menos sobrecarga para salvar el último tipo sólo cuando lo necesita como esto:

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

Recuerde que debe declarar la variable en el alcance correcto, por supuesto.

(creo que el problema del questioneer probable era que tenía para obtener el elemento DOM a través de [0] y no el elemento de jQuery.)

-1

así es como me las arreglé para hacerlo:

<?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> 
Cuestiones relacionadas