tablesorter -- pager_output 变量在多个表之间共享
Posted
技术标签:
【中文标题】tablesorter -- pager_output 变量在多个表之间共享【英文标题】:tablesorter -- pager_output variables shared across multiple tables 【发布时间】:2016-01-18 18:48:51 【问题描述】:使用最新的 jquery/tablesorter/widgets(截至 2016 年 1 月 18 日),使用 pager 小部件,将 pager_output 设置为您想要的任何内容,只要您包含 totalRows。创建两个或多个具有不同 id 的普通表,并将 tablesorter 附加到每个 id。确保表格具有不同的行数。寻呼机将显示每个表的最后遇到的表的总行数,而不是每个表的适当数字。
当您包含过滤时,filteredRows 也是如此。
【问题讨论】:
【参考方案1】:它对我来说很好...确保代码没有指向两个表的相同寻呼机容器 (demo)
$('table').each(function()
$(this).tablesorter(
theme: "bootstrap",
widthFixed: true,
headerTemplate: 'content icon',
widgets: ["uitheme", "filter", "zebra"],
)
.tablesorterPager(
container: '.' + this.id,
cssGoto: ".pagenum",
output: 'startRow - endRow / filteredRows (totalRows)'
);
);
更新:糟糕,here is a demo 使用寻呼机小部件
$('table').each(function()
$(this).tablesorter( debug: true,
theme: "bootstrap",
widthFixed: true,
headerTemplate: 'content icon',
widgets: ["uitheme", "filter", "zebra", 'pager'],
widgetOptions:
pager_selectors :
container : '.' + this.id
,
pager_output: 'startRow - endRow / filteredRows (totalRows)'
);
);
【讨论】:
谢谢,莫蒂。我现在意识到我的问题的根源,但仍然不知道如何解决它。我看到每个表都有不同的 id,这允许我为每个表创建不同的 tablesorter 配置,但是,愚蠢的我,没有什么可以说任何特定的寻呼机属于任何特定的表。我如何通知每个寻呼机它属于哪个表,或者反之亦然,告诉每个表要更新哪个寻呼机? 看看我分享的代码..该方法针对每个表,并使用表ID来匹配与ID匹配的寻呼机类名。或者,您可以分别初始化每个表。 我试过了,但失败了。我不记得那条信息了,我稍后将不得不回到这一点——其他事情需要我立即关注。我道歉。我的代码和你的代码之间的一个区别是我使用表 ID,如 $("#someTable").tablesorter() 所以我可以在每个表上使用不同的配置,而你在所有表上应用相同的配置表类中的元素。我不知道这是否会在与此代码 sn-p 相关的关键时刻改变不断变化的“this”的 cvalue。 (我对 javascript 还是很陌生,所以请容忍我的普遍无知。) 我终于可以回到这个话题了。我没有从我离开的地方继续,而是从你的演示开始。我同意它工作正常。在我看来,寻呼机和表格的连接方式是表格获得唯一的 id,而寻呼机获得与其类之一相同的 id。也许是因为我还是一个相对新手,但我不明白这一点。也许您正在“搭便车”通常不以这种方式使用的标准机制?从根本上说,id !== class。 在该示例中,寻呼机具有与表 id 相同的类名。在this example 中,寻呼机使用jQuery.each()
提供的索引来定位寻呼机。无论哪种方式都有效,只是不要对两个表使用相同的寻呼机类名称。以上是关于tablesorter -- pager_output 变量在多个表之间共享的主要内容,如果未能解决你的问题,请参考以下文章
jQuery插件 tablesorter 表格排序 使用说明