Jquery表分页仅适用于具有多个实例的最后一个表
我正在构建一个表分类器和分页脚本。排序可以很好地工作,最后一个表上的分页也可以作为一个字符。在所有以前的表上,分页的“上一页”和“下一页”按钮都已断开。谁能告诉我为什么 以下是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 = $
(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">«</a>' +
'<a href="1" class="table-pagination-link table-pagination-link-previous no-active">‹</a>' +
numberLinks +
'<a href="2" class="table-pagination-link table-pagination-link-next no-active">›</a>' +
'<a href="' + totalPages + '" class="table-pagination-link table-pagination-link-last no-active">»</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()