0
$(document).ready(function() {
    $('#sort_table th').click(function(){

        var compare_rows = function (a,b) {
            var a_val = $(a).text().toLowerCase();
            var b_val = $(a).text().toLowerCase();

            if (a_val > b_val) {
                return 1;
                }
            if (a_val < b_val) {
                return -1
            }
        return 0;
        }

        //sort

        $('#sort_table .clickable').sort(compare_rows).appendTo('#sort_table');
        });

    });

我的表中有三列,我正在测试对第一列进行排序,但是 appendTo 只会把表弄乱,它将新列作为一行附加。

这是一个示例http://jsfiddle.net/Kga4A/

4

1 回答 1

2
$(document).ready(function() {
    $('#sort_table th').on('click', function(){
        var compare_rows = function (a,b) {
            return $(a).text().toLowerCase().localeCompare( $(b).text().toLowerCase() );
        }

        var elems = $('#sort_table .clickable').get();
        elems.sort(compare_rows);
        $(elems).each(function(i,el) {
            console.log(el)
            $('#sort_table > tbody > tr:eq('+i+')').prepend(el);
        });

    });
});

小提琴

于 2013-07-19T06:18:55.343 回答