2012-05-16 11 views
5

Wtyczka działa poprawnie, gdy mam tylko 1 tabelę na stronie.Jak mieć wiele tabel TableSorter jQuery na stronie

Ale z dwóch, pojawia się błąd:

Uncaught TypeError: Cannot set property 'count' of undefined

to dlatego, że z opcją sortList ustawiony poniżej. Mam ustawione sortowanie na czwartej kolumnie, a najpierw wyświetlana aux_table ma 3 kolumny. Ale działa, a main_table nie. Jak zmusić ich obu do pracy, czy tylko do drugiego, ważniejszego main_table?

Obie tabele należą do klasy tablesorter i mają różne identyfikatory (main_table i aux_table).

Pierwsza tabela na stronie działa, a druga nie. Oto JS od mojego <head> tagu:

$(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]] 
    });  
}); 

Odpowiedz

5

Musisz zmienić swój kod do instancji sorter stół na każdym stole, tak aby można było określić osobne ustawienia dla każdego z nich.

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

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

Wiedziałem byłoby proste. Dzięki! –

+1

Jest to poprawne, jeśli znasz tabelę z wyprzedzeniem. Jeśli jeden skrypt obsługuje dynamicznie generowane tabele na kilku stronach, okazało się, że warto otoczyć każdą tabelę w jakimś kontenerze, a następnie użyć '$ (" table-sorting-instance "). Each (function()' and ' $ (this) .find ("tablesorter-table"); 'aby znaleźć tabele, po prostu udostępnianie! – mrcoulson

+0

To nie działa. Mam 2 tabele z osobnymi identyfikatorami i stworzyłem instancję tablesorter oddzielnie, jak pokazano powyżej, ale tylko sortowanie pierwszego stołu: –

0

Tak można dodać wiele tabel na jednej stronie. Możesz dodać każdą tabelę w wrap, jak pokazano poniżej i można dodać funkcję paginacji i sortowania osobno.

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

 
});

Proszę odnieść to.

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

+1

Należy zwrócić uwagę, że [odpowiedź tylko od łącza] (http://meta.stackoverflow.com/ tagi/link-only-answer/info) są zniechęcone, odpowiedzi SO powinny być punktem końcowym wyszukiwania rozwiązania (w porównaniu z innym przystankiem referencji, które z czasem stają się nieaktualne). Proszę rozważyć dodanie stojaka -wszystkie streszczenie tutaj, zachowując link jako odniesienie. – kleopatra

0

Jak o wyborze na klasy?

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

jeśli potrzeba, aby posortować na wielu stołach ..

Powiązane problemy