Trochę pobolało ale w końcu sam napisałem funkcję o którą mi chodziło.
Wywołując funkcję sortTable jako pierwszy parametr podajesz tabelkę, jako drugi dowolne pole(td) z kolumny którą chcesz sortować, a jako trzeci jak sortować:
ros - rosnąco
mal - malejąco
Oto kod(zawiera jedną funkcję pomocniczą):
Kod
function getNrInParent(child) {
tds = child.parentNode.getElementsByTagName('td');
for(var i=0;i<tds.length;i++) {
if(tds[i] == child) return i;
}
}
function sortTable(table, td, how) {
var trs = table.getElementsByTagName('tr');
for(var i=1;i<trs.length;i++) {
var actTr = trs[i];
var tds = trs[i].getElementsByTagName('td');
var nr = getNrInParent(td);
var ActTd = tds[nr].innerHTML;
for(var j=1;j<trs.length;j++) {//op wszystkich wierszach z wyj 1(nagłówki)
var WieszAkt = trs[j].getElementsByTagName('td')[nr].innerHTML;
if ((WieszAkt > ActTd && how=='ros') || (WieszAkt < ActTd && how=='mal')) {
table.insertBefore(actTr ,trs[j]);
var add = 1;break;
}
}//for
if(!add) {
//element na końcu
table.appendChild(actTr);
}
}//endfor
}//function
Może komuś się kiedyś przyda.
Pozdrawiam