2012-01-24 21 views
5

Knockout.jsテンプレートから生成されたテーブルをソートしようとしています。問題は、jquery Tablesorterがすべてのtrをキャッシュするということです。私はテーブルター.trigger( "更新")を認識していますが、どこに適用するのかはわかりません。私は "afterRender"、カスタムバインディング、e.t.cを試してみましたが、結果はまったく...私はjsfiddleを作ったのでしょうか?http://jsfiddle.net/a8jUj/1/Knockout.js with jQuery tablesorter

一部の項目を非アクティブに設定せずにソートすると、すべて動作します。最初に何かを非アクティブにしてからテーブルをソートすると、再び現れます。

更新: [OK]を、私はknockoutjsと恋に落ちた - AGAIN :)彼らは、いくつかのきちんとしたユーティリティが含まれてい、そのうちの一つがobservableArraysをソートする機能がある - >http://knockoutjs.com/documentation/observableArrays.htmlを。

答えて

3

sort algoritmを使用してアクティブユーザーを分類します。ビューは自動的に更新されます!あなたは直接

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

のようなビューと対話しかし、このように気にいらを行うべきではありません。

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

activeUsers.sort(sortUsers); 
+0

素晴らしい、あなたが行くここ:) –

+0

を働いています!正しい答えをマークすることを忘れないでください! :) –

+1

だから、私は混乱しています。ノーアウトでtablesorterを使用する方法に対するあなたの答えは、tablesorterを使用しないことですか?私はOPが満足していると思うが、あなたが他の機能(テーマ、ウィジェット、グループ化など)のためにtablesorterを使いたいのであれば?互換性がありませんか? – neverfox