Tablesorter - 在排序时可以自动禁用寻呼机吗?

时间:2014-10-28 16:15:40

标签: jquery tablesorter pager

我们一直在使用Mottie编程的tablesorter一段时间,用户问我们当用户按任何列排序时是否可以自动禁用寻呼机。

如果您点击以下链接https://mottie.github.io/tablesorter/docs/example-widget-pager.html,您会看到一个演示表。按“禁用寻呼机”查看全部50行。然后按“主要”列排序,您将看到它会自动恢复为包含10行的分页视图。

现在我知道第三个按钮允许破坏寻呼机以解决这个问题,但我宁愿以某种方式阻止寻呼机在排序后默认为分页视图。这可能吗??原因是我们只需使用一个按钮在我们的应用程序中打开/关闭寻呼机。

1 个答案:

答案 0 :(得分:0)

寻呼机没有设置为保持禁用状态,但使用一些代码可以根据您的要求进行调整(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);
    }

});