• bootstrap-table.js扩展分页工具栏,增加跳转到xx页


    新项目,准备引用bootstrap-table这个控件来展示页面上的表格,无奈这款控件的分页工具栏没有跳转到xx页的功能,为了适应公司美工(只会出图的美工,却跟我要求这要求那)的蛋疼需求,硬着头皮改了一下bootstrap-table的源码,实现了此功能。

    注:由于本人js水平有限,此次扩展只支持页面上的单表格,也就是说如果同一个页面引用两次bootstrap-table的话,该跳转将无效。

    各路神仙如果有更完美的解决方案,也请留言告诉我一声,让我也学习一下。

    关于如何引用控件什么的就不说了,网上百度一下说的都比我好,下面直接上源码。

    1、下载bootstrap-table.js的源码(注意不要下载min的,我下载的版本是:version: 1.11.0),在源码中以 '<ul class="pagination' 为关键字进行检索,定位到以下代码

                 html.push('</div>',
                     '<div class="pull-' + this.options.paginationHAlign + ' pagination">',
                     '<ul class="pagination' + sprintf(' pagination-%s', this.options.iconSize) + '">',
                     '<li class="page-pre"><a href="javascript:void(0)">' + this.options.paginationPreText + '</a></li>');

    ok,把上面这段代码覆盖成下面的代码

                html.push('</div>',
                    '<div class="goPage"><input type="button" value="跳转" class="pageBtn" onclick="toPage();"></div>',
                    '<div class="goPage">跳转到第<input id="pageNum" class="pageNum" type="text">页</div>',
                    '<div class="pull-' + this.options.paginationHAlign + ' pagination">',
                    '<ul class="pagination' + sprintf(' pagination-%s', this.options.iconSize) + '">',
                    '<li class="page-pre"><a href="javascript:void(0)">' + this.options.paginationPreText + '</a></li>');

    到这,源码就修改完了。

    2、然后,在全局css文件里添加以下class

    .pageBtn {
        
    }
    .pageNum {
        width: 40px;
        border-radius: 3px;
    }
    .goPage {
        float: right;
        margin-left: 5px;
        margin-top: 13px;
        height: 30px;
    }

    如果需要自定义按钮的样式,可以在pgeBtn里面自己定义

    3、在js文件里添加跳转方法

    function toPage() {
        var pageNum = $("#pageNum").val();
        if (pageNum) {
            $('#table').bootstrapTable('selectPage', parseInt(pageNum));
        }
    }

    注意,我的表格id定义为table,需要将$('#table').bootstrapTable换成你自己定义的id

    以上,就可以实现输入页码进行跳转了。效果图如下:

  • 相关阅读:
    NYOJ 1073 最大值 (模拟)
    NYOJ 1063 生活的烦恼 (二叉树)
    NYOJ 1022 合纵连横 (并查集)
    [leetcode-553-Optimal Division]
    [leetcode-496-Next Greater Element I]
    [leetcode-556-Next Greater Element III]
    [leetcode-500-Keyboard Row]
    [leetcode-36-Valid Sudoku]
    [leetcode-127-Word Ladder]
    [leetcode-567-Permutation in String]
  • 原文地址:https://www.cnblogs.com/floud/p/8135605.html
Copyright © 2020-2023  润新知