Jquery表分页仅适用于具有多个实例的最后一个表

Jquery表分页仅适用于具有多个实例的最后一个表,jquery,jquery-plugins,pagination,html-table,Jquery,Jquery Plugins,Pagination,Html Table,我正在构建一个表分类器和分页脚本。排序可以很好地工作,最后一个表上的分页也可以作为一个字符。在所有以前的表上,分页的“上一页”和“下一页”按钮都已断开。谁能告诉我为什么 以下是jquery插件: (function($) { $.fn.tableSorterTwo = function(options) { var defaults = { pagination: 20 } var options = $

我正在构建一个表分类器和分页脚本。排序可以很好地工作,最后一个表上的分页也可以作为一个字符。在所有以前的表上,分页的“上一页”和“下一页”按钮都已断开。谁能告诉我为什么

以下是jquery插件:

 (function($)
{
    $.fn.tableSorterTwo = function(options)
    {
        var defaults = {
            pagination: 20
        }

        var options = $.extend(defaults, options);

        return this.each(function()
        {
            $(this).find('thead').addClass('noselect');
            $(this).find('thead th').each(function(column)
            {  
                $(this).addClass('sorting').click(function()
                {  
                    var $table = $(this).parent().parent().parent();
                    var findSortKey = function($cell)
                    {  
                        return $cell.find('.sort-key').text().toUpperCase() + ' ' + $cell.text().toUpperCase();  
                    }; 

                    var sortDirection = $(this).is('.sorting_asc') ? -1 : 1;  
                    var $rows = $table.find('tbody tr').get();  

                    $.each($rows, function(index, row)
                    {  
                        row.sortKey = findSortKey($(row).children('td').eq(column));  
                    });  

                    $rows.sort(function(a, b)
                    {  
                        if(!isNaN(a.sortKey) && !isNaN(b.sortKey))
                        {
                            var val = a.sortKey-b.sortKey;
                            if(val < 0) return -sortDirection;
                            if(val > 0) return sortDirection;                       
                        }
                        else if(a.sortKey.indexOf("%") >= 0)
                        {
                            var a = a.sortKey.replace(' %', '');
                            var b = b.sortKey.replace(' %', '');
                            var val = a-b;
                            if(val < 0) return -sortDirection;
                            if(val > 0) return sortDirection;
                        }
                        else
                        {
                            if(a.sortKey < b.sortKey) return -sortDirection;  
                            if(a.sortKey > b.sortKey) return sortDirection;  
                        }
                        return 0;  
                    });  

                    $.each($rows, function(index, row)
                    {  
                        $table.find('tbody').append(row);  
                        row.sortKey = null;  
                    });  

                    $table.find('thead th').removeClass('sorting_asc sorting_desc');  
                    var $sortHead = $table.find('thead th').filter(':nth-child(' + (column + 1) + ')');  
                    sortDirection == 1 ? $sortHead.addClass('sorting_asc') : $sortHead.addClass('sorting_desc');  
                    $table.find('tbody tr').removeClass('sorting').filter(':nth-child(' + (column + 1) + ')').addClass('sorting'); 
                    zebraRows($table);
                });     
            });

            // PAGINATION
            var totalRows = $(this).find('tbody tr').size();
            if(totalRows > options.pagination)
            {
                var totalPages = Math.ceil(totalRows/options.pagination);
                $(this).find('tbody').after('<tfoot><tr><th colspan="3" class="table-pagination"></th></tr></tfoot>');
            }

            var currentLink = 0;
            var numberLinks = ''; 
            if(totalPages > 1)
            {
                while(totalPages > currentLink)
                {
                    var active = (currentLink == 0) ? ' table-pagination-link-active' : '';
                    checkLinks($(this), currentLink, totalPages);
                    numberLinks += '<a href="' + (currentLink+1) + '" class="table-pagination-link' + active + '">' + (currentLink+1) + '</a>';
                    currentLink++;
                }
                $(this).find('tfoot tr th').html('<a href="1" class="table-pagination-link table-pagination-link-first no-active">&#171;</a>' +
                '<a href="1" class="table-pagination-link table-pagination-link-previous no-active">&#8249;</a>' +
                numberLinks +
                '<a href="2" class="table-pagination-link table-pagination-link-next no-active">&#8250;</a>' +
                '<a href="' + totalPages + '" class="table-pagination-link table-pagination-link-last no-active">&#187;</a> | <span class="table-pagination-overview no-active">1</span>/<span class="table-pagination-total no-active">' + totalPages + '</span>');
                $(this).find('tbody tr').hide().slice(0, options.pagination).show();
                $(this).find('.table-pagination-link-previous').hide();
                $(this).find('.table-pagination-link-first').hide();
            }

            $('.table-pagination-link').click(function()
            {
                var table = $(this).parents('table');
                var href = $(this).attr('href');
                $(table).find('.table-pagination-link').removeClass('table-pagination-link-active');
                if(!$(this).hasClass('no-active'))
                {
                    $(this).addClass('table-pagination-link-active');
                }
                if(href == totalPages)
                {
                    markActive(table, totalPages)
                }
                else if(href == 1)
                {
                    markActive(table, href);
                }
                goToPage(table, href, options.pagination);
                return false;
            });
        });
    };

    function zebraRows(table)
    {
        $(table).find('tbody tr:even').removeClass('even').addClass('even');
    }

    function markActive(table, href)
    {
        $(table).find('a[href="' + href + '"]').addClass('table-pagination-link-active');
        $(table).find('.no-active').removeClass('table-pagination-link-active');
    }   

    function goToPage(table, page, pagination)
    {
        var previous = parseInt(page)-1;
        var next = parseInt(page)+1;
        $(table).find('.table-pagination-overview').html(page);
        var page = parseInt(page)-1;
        var start = page*pagination;
        var end = start+pagination;
        $(table).find('tbody tr').hide().slice(start, end).show();
        checkLinks(table, page, $(table).find('.table-pagination-total').html());
        $(table).find('.table-pagination-link-previous').attr('href', previous);
        $(table).find('.table-pagination-link-next').attr('href', next);
        return false;
    }

    function checkLinks(table, currentLink, totalPages)
    {
        if(currentLink == 0)
        {
            $(table).find('.table-pagination-link-previous').hide();
            $(table).find('.table-pagination-link-first').hide();
            $(table).find('.table-pagination-link-next').show();
            $(table).find('.table-pagination-link-last').show();
        }
        else if(currentLink == (totalPages-1))
        {
            $(table).find('.table-pagination-link-next').hide();
            $(table).find('.table-pagination-link-last').hide();
            $(table).find('.table-pagination-link-previous').show();
            $(table).find('.table-pagination-link-first').show();
        }
        else
        {
            $(table).find('.table-pagination-link-previous').show();
            $(table).find('.table-pagination-link-first').show();
            $(table).find('.table-pagination-link-next').show();
            $(table).find('.table-pagination-link-last').show();
        }
    }
})(jQuery);
(函数($)
{
$.fn.tableSorterTwo=函数(选项)
{
var默认值={
页码:20
}
var options=$.extend(默认值,选项);
返回此值。每个(函数()
{
$(this.find('thead').addClass('noselect');
$(this).find('thead th')。each(函数(列)
{  
$(this).addClass('sorting')。单击(function()
{  
var$table=$(this.parent().parent().parent();
var findSortKey=函数($cell)
{  
返回$cell.find('.sort key').text().toUpperCase()++'+$cell.text().toUpperCase();
}; 
var sortDirection=$(this).is('.sorting_asc')?-1:1;
var$rows=$table.find('tbody tr').get();
$.each($行,函数(索引,行)
{  
row.sortKey=findSortKey($(row).children('td').eq(column));
});  
$rows.sort(函数(a,b)
{  
如果(!isNaN(a.sortKey)和&!isNaN(b.sortKey))
{
var val=a.sortKey-b.sortKey;
如果(val<0)返回-排序方向;
如果(val>0)返回sortDirection;
}
如果(a.sortKey.indexOf(“%”>=0),则为else
{
变量a=a.sortKey.replace('%,'');
变量b=b.sortKey.replace('%,'');
var-val=a-b;
如果(val<0)返回-排序方向;
如果(val>0)返回sortDirection;
}
其他的
{
如果(a.sortKeyb.sortKey)返回sortDirection;
}
返回0;
});  
$.each($行,函数(索引,行)
{  
$table.find('tbody').append(行);
row.sortKey=null;
});  
$table.find('thead th').removeClass('sorting_asc sorting_desc');
var$sortHead=$table.find('thead-th').filter(':第n个子('+(列+1)+'));
sortDirection==1?$sortHead.addClass('sorting_asc'):$sortHead.addClass('sorting_desc');
$table.find('tbody tr').removeClass('sorting').filter(':第n个子('+(列+1)+')).addClass('sorting');
斑马(表);
});     
});
//分页
var totalRows=$(this.find('tbody tr').size();
如果(totalRows>options.pagination)
{
var totalPages=Math.ceil(totalRows/options.pagination);
$(this.find('tbody')。在('')之后;
}
var-currentLink=0;
var numberLinks='';
如果(总页数>1)
{
while(totalPages>currentLink)
{
var active=(currentLink==0)?“表分页链接active':”;
检查链接($(此)、currentLink、totalPages);
numberLinks+='';
currentLink++;
}
$(this.find('tfoot tr th').html('+
'' +
数字链接+
'' +
“|1/”+总页数+”;
$(this.find('tbody tr').hide().slice(0,options.pagination).show();
$(this.find('.table pagination link previous').hide();
$(this.find('.table pagination link first').hide();
}
$('.table分页链接')。单击(函数()
{
var table=$(this.parents('table');
var href=$(this.attr('href');
$(table).find('.table分页链接').removeClass('table-pagination-link-active');
if(!$(this).hasClass('no-active'))
{
$(this.addClass('table-pagination-link-active');
}
如果(href==totalPages)
{
markActive(表格,总页数)
}
否则,如果(href==1)
{
markActive(表,href);
}
goToPage(表,href,options.pagination);
返回false;
});
});
};
函数zebraRows(表)
{
$(表).find('tbody tr:even').removeClass('even').addClass('even');
}
函数markActive(表,href)
{
$(table.find('a[href=“”+href+“]”)]).addClass('table-pagination-link-active');
$(table).find('.no-active').removeClass('table-pagination-link-active');
}   
函数goToPage(表格、页面、分页)
{
var-previous=parseInt(第页)-1;
var next=parseInt(第页)+1;
$(表).find('.table分页概述').html(第页);
var page=parseInt(page)-1;
var start=页面*分页;
var end=开始+分页;
$(表).find('tbody tr').hide().slice(start,end).show();
检查链接(表,页,$(表).find('.table pagination total').html());
$(表).find('.tabl
$('.table-pagination-link').click(function()
$('.table-pagination-link', this).click(function()