2008-10-14 9 views
13

Alguien sabe de un plugin, o una función integrada para hacer las columnas en una tabla ordenable? es decir, ¿hago clic en el encabezado de la columna y ordena las filas en esa columna?cabecera de la tabla jQuery tipo

Respuesta

27

http://tablesorter.com/docs/ es muy sencillo de utilizar con una amplia gama de opciones para satisfacer sus necesidades. :)

+3

tablesorter es impresionante –

+0

tablesorter! - http://stackoverflow.com/a/9535584/665387 tiene enlace y el ejemplo de vídeo –

1

Un poco pesado, pero el último gestor de tablas de jQuery es jqGrid

0

Un plugin jquery que hace ordenar, filtrar y paginar: breedjs

Ejemplo:

poner los datos en un objeto de JS para hacer precisamente así:

var data = { 
    people: [ 
     {name: 'a', address: 'c', salesperson: 'b'}, 
     {name: 'b', address: 'b', salesperson: 'a'}, 
     {name: 'c', address: 'a', salesperson: 'c'}, 
    ] 
}; 

breed.run({ 
    scope: 'people', 
    input: data 
}); 

HTML:

<table> 
    <thead> 
     <tr> 
      <th sort='name'>Name</th> 
      <th sort='address'>Address</th> 
      <th sort='salesperson'>Sales Person</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr b-scope="people" b-loop="person in people"> 
      <td b-sort="name">{{person.name}}</td> 
      <td b-sort="address">{{person.address}}</td> 
      <td b-sort="salesperson">{{person.salesperson}}</td> 
     </tr> 
    </tbody> 
</table> 

Ahora, cada vez que desea ordenar por vendedor, justo llámelo:

breed.sort({ 
    scope: 'people', 
    selector: //field name 
}); 

Ver:

$("th").click(function(){ 
    breed.sort({ 
     scope: 'people', 
     selector: $(this).attr('sort') 
    }); 
}); 

Working example on fiddle