前幾天尋找了幾個表格外掛程式之後,開始研究如何使用其中的某個外掛程式來實現需求,需求如下:
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 : 'post', url : '/list.do', 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 : 'post', url : '/body.do', data : parames.data, dataType : 'html', 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('destroy'); initTable("dataTable"); });
經過以上構建,dataTable就可以滿足開始的需求,排序和分頁均由伺服器端完成,資料不必在伺服器端進行轉換,而是透過載入一個頁面片段來實現,可以更方便的開發。效果如下:
推薦教學:Bootstrap教學
以上是使用Bootstrap-Table實作分頁和排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!