我尝试对从Knockout.js模板生成的表进行排序。问题是jQuery Tablesorter会缓存所有tr。我知道tablesorters .trigger(“ update”),但不知道在哪里应用它。我尝试了“ afterRender”,自定义绑定,等等-根本没有任何结果...我做了一个jsfiddle,也许这可以清除所有问题:http://jsfiddle.net/a8jUj/1/
如果排序时未将某些条目设置为不活动,则一切正常。如果您首先将某项设置为非活动状态,然后对表进行排序,它会再次出现吗?
更新:
好的,我爱上了基因敲除-再次:)他们包括一些简洁的实用程序,其中之一具有对observableArrays-> http://knockoutjs.com/documentation/observableArrays.html进行排序的能力。
最佳答案
使用sort algoritm对activeUsers进行排序。视图将自动更新!您不应该像这样直接与视图进行交互
$("#list1").tablesorter();
但是要做这样的事情:
function sortUsers(a,b){
return a.name() < b.name();
}
activeUsers.sort(sortUsers);