2012-01-24 13 views
5

Próbuję posortować tabelę wygenerowaną na podstawie szablonu Knockout.js. Problem polega na tym, że jquery Tablesorter przechowuje wszystkie trs. Jestem świadomy tablesorters .trigger ("update"), ale nie wiem, gdzie go zastosować. Próbowałem "afterRender", niestandardowych wiązań, e.t.c - bez żadnych rezultatów ... Zrobiłem jsfiddle, może to wyjaśnia: http://jsfiddle.net/a8jUj/1/Knockout.js z jQuery tablesorter

Jeśli sortujesz bez ustawiania niektórych wpisów nieaktywnych, wszystko działa. Jeśli po raz pierwszy ustawisz coś nieaktywnego, a następnie posortujesz tabelę, ponownie się pojawi ?!

Aktualizacja: Ok, ja zakochałem się w knockoutjs - po raz kolejny :) Mają jakieś zgrabne media wliczone, jeden z nich ma możliwość sortowania observableArrays ->http://knockoutjs.com/documentation/observableArrays.html.

Odpowiedz

3

Sortuj aktywnych użytkowników przy użyciu sort algoritm. Widok automatycznie się zaktualizuje! Nie powinno się wchodzić w interakcje z widokiem bezpośrednio jak

$("#list1").tablesorter(); 

Ale zrobić somthing tak:

function sortUsers(a,b){ 
    return a.name() < b.name(); 
} 

activeUsers.sort(sortUsers); 
+0

wielki, że pracował :) –

+0

tu jesteś! Nie zapomnij zaznaczyć prawidłowej odpowiedzi! :) –

+1

Jestem zdezorientowany. Twoja odpowiedź na to, jak używać tablesorter z nokautem, to nie używać tablesorter? Zgaduję, że OP jest usatysfakcjonowany, ale co jeśli chcesz użyć tablesorter dla innych funkcji (motywów, widżetów, grupowania itp.)? Czy to po prostu nie jest zgodne? – neverfox

Powiązane problemy