【问题标题】:Tablesorter - can pager be automatically disabled when sorting?Tablesorter - 排序时可以自动禁用分页器吗?
【发布时间】:2014-10-28 16:15:40
【问题描述】:

我们已经使用 Mottie 编程的表格排序器已经有一段时间了,一位用户询问我们是否可以在用户按任何列排序时自动禁用寻呼机。

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

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

【问题讨论】:

    标签: jquery tablesorter pager


    【解决方案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);
        }
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多