Si alguna vez teniais pensado crear una tabla ordenada, TableSorter es la solución. Algunas de las ventajas son:
- Sencillo de implementar
- No hace falta refrescar la página para que se ordene.
- Puede ordenadr por tipos de datos como:
- Texto
- Números
- Monedas
- Fechas
- etc …
- Tiene muchas opciones de personalización y ampliación.
Seguramente te bastan todas estas ventajas, así que vamos a ver como lo podemos implementar.
Como siempre lo primero que tendremos que hacer es descargarnos las librerías correspondientes:
Una vez descargados, tendremos que hacer la llamada a esas librerías entre las etiquetas «head» de la página.
[html]
[/html]
Una vez echa la llamada, crearemos una tabla, que en este caso seria esta:
[html]
Usuario | Edad | Profesion | Url/Blog | Curious | curious@gmail.com | 34 | Webmaster | http://www.nosfaltauno.es | Papilous | papilous@gmail.com | 21 | Carretillero | http://www.nosfaltauno.com | Colorate | colorate@gmail.com | 29 | Bloguer | http://www.colordeu.es/Blog | Pingui | pingui@gmail.com | 40 | Diseñador Gráfico | http://www.colordeu.es | Ursixs | ur100@hotmail.com | 17 | Estudiante | http://www.nfu.es |
---|
[/html]
Si os fijáis le he puesto un identificador que se llama “tablasort”. Este es muy importante, ya que será con lo que haremos la llamada. Y también, hay que tener en cuenta, que tenemos que tener bien especificadas las etiquetas “THEAD” y “TBODY”.
Ahora nos queda indicarle al plugin que tabla queremos que tenga la opción de ser ordenada:
[js]$(document).ready(function()
{
$(«#tablasort»).tablesorter();
}
);
[/js]
Podeis ver un ejemplo aqui.
O bien descargarlo
3 comentarios
no funciona con numeros que tengan separador de miles, plop !!
Muy bueno, excelente! quisiera saber si tengo una tabla de 200 registros, como hago para que tenga «ascensor» vertical, muchísimas gracias.
Para que ordenenara los números con signos de miles, modifique esta parte del código:
ts.addParser({
id: «digit»,
is: function(s,table) {
var c = table.config;
return $.tablesorter.isDigit(s,c);
},
format: function(s) {
return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9]/g),»»));
},
type: «numeric»
});