2012-01-24 15 views
5

Intento ordenar una tabla, generada a partir de una plantilla Knockout.js. El problema es que jquery Tablesorter pone en caché todos los tr. Conozco el .trigger de tablesorters ("actualización") pero no sé dónde aplicarlo. Intenté "afterRender", enlaces personalizados, e.t.c - sin ningún resultado ... Hice un jsfiddle, tal vez esto aclare las cosas: http://jsfiddle.net/a8jUj/1/Knockout.js con jQuery tablesorter

Si ordena sin configurar algunas entradas inactivas, todo funciona. Si primero establece algo inactivo y luego ordena la tabla, reaparece?

Actualización: Ok, se enamoró de knockoutjs - de nuevo :) tienen algunas utilidades incluyen ordenadas, uno de ellos tiene la capacidad de ordenar observableArrays ->http://knockoutjs.com/documentation/observableArrays.html.

Respuesta

3

Ordenar usuarios activos utilizando sort algoritm. ¡La vista se actualizará automáticamente! Usted no debe interactuar con la vista directa como

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

Pero hacer algo como esto:

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

activeUsers.sort(sortUsers); 
+0

grande, que trabajó :) –

+0

Aquí tienes! ¡No te olvides de marcar la respuesta correcta! :) –

+1

Entonces, estoy confundido. ¿Su respuesta a cómo usar el tablesorter con knockout es no usar el tablesorter? Supongo que el OP está satisfecho, pero ¿qué sucede si quieres usar el tablesorter para sus otras funciones (temas, widgets, agrupación, etc.)? ¿Simplemente no es compatible? – neverfox

Cuestiones relacionadas