Knockout.js с помощью jQuery tableorter - PullRequest
5 голосов
/ 24 января 2012

Я пытаюсь отсортировать таблицу, сгенерированную из шаблона Knockout.js. Проблема в том, что jquery Tablesorter вроде кеширует все tr. Я знаю о таблицах .trigger ("обновление"), но я не знаю, где его применять. Я попытался "afterRender", пользовательские привязки, e.t.c - без каких-либо результатов ... Я сделал jsfiddle, может быть, это проясняет: http://jsfiddle.net/a8jUj/1/

Если вы сортируете, не устанавливая некоторые записи неактивными, все работает. Если вы сначала установили что-то неактивное, а затем отсортировали таблицу, это снова появляется ?!

Обновление: Хорошо, я влюбился в knockoutjs - ОПЯТЬ :) У них есть несколько полезных утилит, одна из них имеет возможность сортировать observableArrays -> http://knockoutjs.com/documentation/observableArrays.html.

1 Ответ

3 голосов
/ 24 января 2012

Сортировка activeUsers с использованием алгоритма sort .Представление будет автоматически обновляться!Вы не должны взаимодействовать с представлением напрямую, как

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

, но сделайте что-то вроде этого:

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

activeUsers.sort(sortUsers);
...