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

以上,就可以實現輸入頁碼進行跳轉了。效果圖如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM