Entonces al obtener el codigo html (innerHTML) los atributos no se obtienen?
Hice una prueba que consistia en hacer un alert del innerHTML de cada fila que se movia para ordenar la tabla justo antes y justo despues de moverla. Antes de moverla aparecia el atributo checked y despues de moverla ya no estaba.
Código:
//Si hago un alert de tabla.rows[minIdx].innerHTML aparece checked en el input
tmpel = tabla.removeChild(tabla.rows[minIdx]);
tabla.insertBefore(tmpel, tabla.rows[i]);
//Si hago un alert de tabla.rows[i].innerHTML todo aparece igual menos el atributo checked que no aparece
Esto me obliga a guardarme el estado previamente y restaurarlo luego:
Código:
var ss = tabla.rows[minIdx].cells[k].getElementsByTagName('input')[0].checked;
//aqui vendria el codigo de arriba que mueve la fila donde le toca
tabla.rows[i].cells[k-1].getElementsByTagName('input')[0].checked = ss;
Con este sistema de ordenacion puedo "restaurar" el estado checked porque puedo saber donde quedará la fila ordenada pero con otros mas complejos y eficientes (vease mergesort) no puedo saberlo por lo tanto no puedo restaurar el estado.
Puede parecer una tonteria pero jode mucho que tarde 8 segundos en ordenar una tabla cuando podria hacerlo en 1 o 2 segundos.
Alguna recomendacion? Gracias!