function sortTable(col, type){
    var rows = $('table tbody tr').get();

    rows.sort(function(a, b) {
        var A = $(a).children('td').eq(col).text().toUpperCase();
        var B = $(b).children('td').eq(col).text().toUpperCase();

        if(A < B) {
            if(type === 'asc'){
                return -1;
            }else{
                return 1;
            }
        }

        if(A > B) {
            if(type === 'asc'){
                return 1;
            }else{
                return -1;
            }
        }

        return 0;
    });

    $.each(rows, function(index, row) {
        $('table').children('tbody').append(row);
    });
}

$('table thead th').eq(0).click(function(e){
    if($(this).hasClass("asc")){
        sortTable(0, 'desc');
        $(this).removeClass("asc");
        $(this).addClass("desc");
    }else if($(this).hasClass("desc")){
        sortTable(0, 'asc');
        $(this).removeClass("desc");
        $(this).addClass("asc");
    }else{
        sortTable(0, 'asc');
        $(this).removeClass("desc");
        $(this).addClass("asc");
    }
    e.preventDefault();
});

Comments

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>