JavaScript sortTable

 

function sortCol(cId) {
    return function compareTRs(tr1, tr2) {
        var value1 = tr1.cells[cId].firstChild.nodeValue;
        var value2 = tr2.cells[cId].firstChild.nodeValue;
        return value1.localeCompare(value2);
    };
}

function sortTable(tableId, cId) {
    var t = document.getElementById(tableId);
    var body = t.tBodies[0];
    var rows = body.rows;
    var arrRows = new Array;
    for (var i = 0; i < rows.length; i++) {
        arrRows[i] = rows[i];
    }
    if (t.sortCol == cId)
        arrRows.reverse();
    else
        arrRows.sort(sortCol(cId));
    var fragment = document.createDocumentFragment();
    for (var i = 0; i < arrRows.length; i++) {
        fragment.appendChild(arrRows[i]);
    }
    body.appendChild(fragment);
    t.sortCol = cId;
}

 

posted @ 2010-08-13 16:58  xpwilson  阅读(177)  评论(0编辑  收藏  举报