Comment travailler avec Jquery Table Sorter avec knockout

J’ai une table sur laquelle j’ai besoin d’appliquer le sorting. J’utilise knockout et jquery.tablesorter.js. J’ai essayé la reliure personnalisée aussi mais ne m’aide pas. Sans KO, mon code fonctionne bien. Ci-dessous est ma table.

Type Title

Voici un exemple: http://jsfiddle.net/jearles/RGsEH/

REMARQUE: Les dépendances de fichiers JS et CSS sont imscopes sous Ressources gérées.

HTML

 
Type Title

JS

 function Course(type, title) { this.type = type; this.title = title; } var ViewModel = function() { this.course = ko.observableArray([ new Course("type", "course1"), new Course("another_type", "course2"), new Course("second_type", "course5"), new Course("third_type", "course4"), new Course("fourth_type", "course3") ]); } ko.bindingHandlers.sortTable = { init: function(element, valueAccessor) { setTimeout( function() { $(element).addClass('tablesorter'); $(element).tablesorter({widgets: ['zebra']}); }, 0); } }; ko.applyBindings(new ViewModel()); 

La solution ci-dessus de @john Earles fonctionne sur des tables de données prédéfinies, mais lorsque nous ajoutons des données dynamics à des tables, elles se cassent un peu.

veuillez vérifier ceci: http://jsfiddle.net/vkctata/vdcox07c/1/

 function Course(type, title) { this.type = type; this.title = title; } var ViewModel = function() { this.addNewItem = function() { this.course.push(new Course("nth_type", "course33")); return false; } this.course = ko.observableArray([ new Course("type", "course1"), new Course("another_type", "course2"), new Course("second_type", "course5"), new Course("third_type", "course4"), new Course("fourth_type", "course3") ]); } ko.bindingHandlers.sortTable = { init: function(element, valueAccessor) { setTimeout(function() { $(element).addClass('tablesorter'); $(element).tablesorter({ widgets: ['zebra'] }); }, 0); } }; ko.applyBindings(new ViewModel()); 

nous avons trouvé un moyen de créer un sorting presque générique, merci de suivre ce lien