2012-05-16 11 views
5

Il plug-in funziona bene quando ho solo una tabella su una pagina.Come avere più tabelle jQuery TableSorter su una pagina

ma con due, ottengo un errore:

Uncaught TypeError: Cannot set property 'count' of undefined

Questo perché l'opzione sortList impostato di seguito. Ho impostato per ordinare sulla quarta colonna, e il aux_table, visualizzato per primo, ha solo 3 colonne. Ma funziona e il main_table no. Come faccio a far funzionare entrambi, o solo il secondo, più importante main_table?

Entrambe le tabelle sono di classe tablesorter e hanno ID diversi (main_table e aux_table).

La prima tabella della pagina funziona e la seconda no. Ecco l'JS dal mio tag <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]] 
    });  
}); 

risposta

5

È necessario modificare il codice per creare un'istanza del sorter tavolo su ogni singolo tavolo, in modo che è possibile specificare le impostazioni separate per ciascuna.

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

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

Sapevo che sarebbe stato semplice. Grazie! –

+1

Questo è corretto se si conoscono le tabelle in anticipo. Se uno script gestisce tabelle generate dinamicamente su più pagine, ho scoperto che è utile circondare ogni tabella in una sorta di contenitore e quindi usare '$ (". Table-sorting-instance "). Each (function()' and ' $ (this) .find (". tablesorter-table"); 'per trovare le tabelle .Solo la condivisione! – mrcoulson

+0

Questo non funziona. Ho 2 tabelle con id separati e ho istanziato il tablesorter separatamente come mostrato sopra ma solo il –

0

Sì, è possibile aggiungere più tabelle in un'unica pagina. È possibile aggiungere ciascuna tabella in modo avvolgente come mostrato di seguito ed è possibile aggiungere separatamente l'impaginazione e ordinare le funzionalità.

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

 
});

prega di fare riferimento questo.

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

+1

Nota che [risposte solo per collegamento] (http://meta.stackoverflow.com/ tags/link-only-answers/info) sono scoraggiati, per cui le risposte dovrebbero essere il punto finale di una ricerca di una soluzione (rispetto a un'altra sosta di riferimenti, che tendono a diventare obsoleti nel tempo). -solo sinossi qui, mantenendo il link come riferimento. – kleopatra

0

Come sulla selezione sulla classe?

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

se necessità di ordinare su più tavoli ..

Problemi correlati