首頁 >web前端 >Bootstrap教程 >使用Bootstrap-Table實作分頁和排序

使用Bootstrap-Table實作分頁和排序

angryTom
angryTom原創
2019-08-20 15:12:114171瀏覽

使用Bootstrap-Table實作分頁和排序

前幾天尋找了幾個表格外掛程式之後,開始研究如何使用其中的某個外掛程式來實現需求,需求如下:

  1.能夠使用jquery .load直接載入片段過來,作為tbody的內容。

  2.能夠點選列頭排序。

  3.能夠分頁,而這種分頁能夠支援伺服器端分頁。

最後透過Bootstrap-Table這款外掛實現,以下為大家介紹實現的具體流程:

1、引用外掛程式

按官網的Getting started引用該外掛程式所必須的css和js文件,如下:

<link rel="stylesheet" href="bootstrap.min.css">
<link rel="stylesheet" href="bootstrap-table.css">
<script src="jquery.min.js"></script>
<script src="bootstrap.min.js"></script>
<script src="bootstrap-table.js"></script>
<-- put your locale files after bootstrap-table.js -->
<script src="bootstrap-table-zh-CN.js"></script>

#2、建立Table

在HTML頁面中建立一個用於展示資料的Table ,這個Table在隨後的步驟中將被Bootstrap-Table初始化,如下:

<table id="dataTable">
    <thead>
    <tr>
        <th data-field="fullname" data-sortable="true">名称</th>
        <th data-field="shortname" data-sortable="true">简称</th>
        <th data-field="address" data-sortable="true">地址</th>
        <th data-field="linkman" data-sortable="true">联系人</th>
        <th data-field="tel" data-sortable="true">联系电话</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody id="dataBody">

    </tbody>
</table>

#3、初始化Table

使用Javascript將Table初始化,並且自訂一些函數來滿足之前的需求,程式碼如下:

$(document).ready(function(){
    initTable("dataTable");
});
//自定义ajax
function ajaxRequest(params){
    //访问服务器获取所需要的数据
    //比如使用$.ajax获得请求某个url获得数据
    $.ajax({
        type : &#39;post&#39;,
        url : &#39;/list.do&#39;,
        data : parames.data,
        success  : function(e){
            if(e.code == 200){
                //表格加载数据
                parames.success({
                    total : total,//符合查询条件的数据总量
                    rows : [{}]//创建一个空行,此处要注意,如果去除,将不会显示任何行
                });
                //加载一个片段,形如<tr><td>..</td>...</tr><tr><td>..</td>...</tr>
                $.ajax({
                    type     : &#39;post&#39;,
                    url      : &#39;/body.do&#39;,
                    data : parames.data,
                    dataType : &#39;html&#39;,
                    success  : function(e){
                        $("#dataBody").html(e);
                    }
                });
            }
        }
    });
}
//自定义参数
function postQueryParams(params) {
    params.cname = $("#customerName").val();
    return params;
}
//初始化
function initTable(tableId){
    $("#" + tableId).bootstrapTable({
        classes : "table table-bordered table-hover table-striped",//加载的样式
        ajax : "ajaxRequest",//自定义ajax
        search : false,//不开启搜索文本框
        sidePagination : "server",//使用服务器端分页
        pagination : "true",//开启分页
        queryParams : "postQueryParams",//自定义参数
        pageSize : 8,//每页大小
        pageList : [8, 16, 32, 64]//可以选择每页大小
    });
}
//查询时,先销毁,然后再初始化
$("#btnSearch").click(function(){
    $("#dataTable").bootstrapTable(&#39;destroy&#39;);
    initTable("dataTable");
});

經過以上構建,dataTable就可以滿足開始的需求,排序和分頁均由伺服器端完成,資料不必在伺服器端進行轉換,而是透過載入一個頁面片段來實現,可以更方便的開發。效果如下:

使用Bootstrap-Table實作分頁和排序

推薦教學:Bootstrap教學

以上是使用Bootstrap-Table實作分頁和排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn