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');
        });

    });

テーブルに 3 つの列があり、最初の列を並べ替えるテストを行っていますが、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 に答える