Tablesorter - 排序时可以自动禁用分页器吗?
Posted
技术标签:
【中文标题】Tablesorter - 排序时可以自动禁用分页器吗?【英文标题】:Tablesorter - can pager be automatically disabled when sorting? 【发布时间】:2014-10-28 16:15:40 【问题描述】:我们已经使用 Mottie 编程的表格排序器已经有一段时间了,一位用户询问我们是否可以在用户按任何列排序时自动禁用寻呼机。
如果您单击以下链接https://mottie.github.io/tablesorter/docs/example-widget-pager.html,您将看到一个演示表。按“禁用寻呼机”查看所有 50 行。然后按“主要”列排序,您会看到它自动恢复为 10 行的分页视图。
现在我知道第三个按钮允许销毁寻呼机以解决此问题,但我更愿意以某种方式阻止寻呼机在排序后默认为分页视图。这可能吗??原因是我们只使用一个按钮来在我们的应用程序中打开/关闭寻呼机。
【问题讨论】:
【参考方案1】:寻呼机未设置为保持禁用状态,但您可以通过一些代码对其进行调整以满足您的要求 (demo)
我在寻呼机容器中添加了这个按钮
<button type="button" class="toggle">Disable</button>
并使用了这段代码:
var $table = $('table'),
$pager = $('.pager'),
pagerDisabled = false,
savedPageSize = 10,
disabledPageSize = 9999;
$table
.tablesorter(
theme: 'blue',
widgets: ['zebra', 'columns']
)
.tablesorterPager(
container: $pager
);
$pager.find('.toggle').on('click', function()
pagerDisabled = !pagerDisabled;
var pager = $table[0].config.pager;
if (pager.size !== disabledPageSize)
// save user set page size
savedPageSize = pager.size;
if (!pagerDisabled)
// set pagerLastSize before enabling pager
$table.data('pagerLastSize', savedPageSize);
// toggle pager state
$table.trigger( ( pagerDisabled ? 'disable' : 'enable' ) + '.pager');
// change button text
$(this).html( pagerDisabled ? 'Enable' : 'Disable' );
if (pagerDisabled)
// set pagerLastSize after disabling pager
$table.data('pagerLastSize', disabledPageSize);
);
【讨论】:
以上是关于Tablesorter - 排序时可以自动禁用分页器吗?的主要内容,如果未能解决你的问题,请参考以下文章
问题:使用 jquery 插件 tablesorter 进行表格排序和分页
通过单击标题禁用 tablesorter 排序,但仍支持按下拉选项排序