Ordenando linhas (tr) de uma tabela (table) com JQuery
20/12/2011 Deixe um comentário
Baseado no seguinte post (http://www.onemoretake.com/2009/02/25/sorting-elements-with-jquery/), criei uma função com JQuery que pode servir para mais pessoas.
A necessidade era ordenar as rows (trs) de uma tabela (table), usando como base um atributo que coloquei dentro da TR.
function sortElementsByAttribute(elements, atributte, destiny) {
elements.sort(function (a, b) {
var compA = $(a).attr(atributte);
var compB = $(b).attr(atributte);
return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
});
$.each(elements, function (idx, item) { destiny.append(item); });
}
Forma de uso:
sortElementsByAttribute($(“#myTable tbody”).children(“tr”).get(), “OrderAttrib”, $(“#myTable tbody”));
Apesar de eu ainda não ter usado em outro lugar (acabei de criar a função) acredito firmemente que esta possa ser usada com outros tipos de controles HTML, como por exemplo uma lista (UL – LI), elementos de um combo (SELECT), etc.

