2012-05-16 56 views
5

El complemento funciona bien cuando solo tengo 1 tabla en una página.Cómo tener varias tablas jQuery TableSorter en una página

pero con dos, me sale un error:

Uncaught TypeError: Cannot set property 'count' of undefined

Eso es debido a la opción sortList establecido a continuación. Lo tengo configurado para clasificar en la cuarta columna, y el aux_table, que se muestra primero, solo tiene 3 columnas. Pero funciona y el main_table no funciona. ¿Cómo logro que ambos trabajen, o solo el segundo, más importante main_table?

Ambas tablas son de clase tablesorter y tienen diferentes ID (main_table y aux_table).

La primera tabla de la página funciona, y la segunda no. Aquí está la JS de mi etiqueta <head>:

$(document).ready(function() { 
    // call the tablesorter plugin 
    $("table").tablesorter({ 
     // sort on the 4th column (index 3) column, DESC (1). ASC is (0). 
     sortList: [[3,1]] 
    });  
}); 

Respuesta

5

Es necesario cambiar el código para crear una instancia del clasificador de mesa en cada mesa individual, por lo que se puede especificar ajustes separados para cada uno.

$("#table1").tablesorter({ 
    sortList: [[3,1]] 
}); 

$("#table2").tablesorter(); 
+0

sabía que iba a ser sencillo. ¡Gracias! –

+1

Esto es correcto si conoce las tablas con anticipación. Si un script maneja tablas generadas dinámicamente en varias páginas, encontré que es útil rodear cada tabla en algún tipo de contenedor y luego usar '$ (". Table-sorting-instance "). Cada uno (función()' y ' $ (this) .find (". tablesorter-table"); 'para encontrar las tablas. Solo compartir! – mrcoulson

+0

Esto no funciona. Tengo 2 tablas con identificadores separados e instalé el tablesorter por separado como muestra arriba, pero solo el La primera tabla ordena –

0

Sí, puede agregar varias tablas en una sola página. Puede agregar cada tabla como se muestra a continuación y es posible agregar la paginación y ordenar la funcionalidad por separado.

$(document).ready(function() { 
 
    $('.pearl-container').each(function(i) { 
 
    $(this).children(".myTable") 
 
     .tablesorter({ 
 
     widthFixed: true, 
 
     widgets: ['zebra'] 
 
     }) 
 
     .tablesorterPager({ 
 
     container: $(this).children(".pager"), 
 
     size: 5 
 
     }); 
 
    }); 
 

 
});

Consulte esto.

http://www.pearlbells.co.uk/table-pagination/

+1

Tenga en cuenta que [solo respuestas de enlace] (http://meta.stackoverflow.com/ tags/link-only-answers/info) son desaconsejados, SO las respuestas deben ser el punto final de una búsqueda de una solución (frente a otra escala de referencias, que tienden a quedar obsoletas en el tiempo). Considere agregar un soporte -una sinopsis aquí, manteniendo el enlace como referencia. – kleopatra

0

Cómo acerca de la selección de la clase?

$(".tablesorter").tablesorter(); 

si hay que solucionar en varias tablas ..

Cuestiones relacionadas