這篇文章給大家分享的是有關(guān)基于LayUI分頁(yè)和LayUI laypage分頁(yè)的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、許昌網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為許昌等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
具體如下:
效果圖:
一、引用js依賴
主要是jquery-1.11.3.min.js 和 layui.all.js , json2.js用來(lái)做json對(duì)象轉(zhuǎn)換的
二、js分頁(yè)方法封裝(分頁(yè)使用模板laytpl)
1、模板渲染
/** * 分頁(yè)模板的渲染方法 * @param templateId 分頁(yè)需要渲染的模板的id * @param resultContentId 模板渲染后顯示在頁(yè)面的內(nèi)容的容器id * @param data 服務(wù)器返回的json對(duì)象 */ function renderTemplate(templateId, resultContentId, data){ layuiuse(['form','laytpl'], function(){ var laytpl = layui.laytpl; laytpl($("#"+templateId).html()).render(data, function(html){ $("#"+resultContentId).html(html); }); }); layui.form().render();// 渲染 };
2、layui.laypage 分頁(yè)封裝
/** * layuilaypage 分頁(yè)封裝 * @param laypageDivId 分頁(yè)控件Div層的id * @param pageParams 分頁(yè)的參數(shù) * @param templateId 分頁(yè)需要渲染的模板的id * @param resultContentId 模板渲染后顯示在頁(yè)面的內(nèi)容的容器id * @param url 向服務(wù)器請(qǐng)求分頁(yè)的url鏈接地址 */ function renderPageData(laypageDivId, pageParams, templateId, resultContentId, url){ if(isNull(pageParams)){ pageParams = { pageIndex : 1, pageSize : 10 } } $ajax({ url : url,//basePath + '/sysMenu/pageSysMenu', method : 'post', data : pageParams,//JSON.stringify(datasub) async : true, complete : function (XHR, TS){}, error : function(XMLHttpRequest, textStatus, errorThrown) { if("error"==textStatus){ error("服務(wù)器未響應(yīng),請(qǐng)稍候再試"); }else{ error("操作失敗,textStatus="+textStatus); } }, success : function(data) { var jsonObj; if('object' == typeof data){ jsonObj = data; }else{ jsonObj = JSON.parse(data); } renderTemplate(templateId, resultContentId, jsonObj); //重新初始化分頁(yè)插件 layui.use(['form','laypage'], function(){ laypage = layui.laypage; laypage({ cont : laypageDivId, curr : jsonObj.pager.pageIndex, pages : jsonObj.pager.totalPage, skip : true, jump: function(obj, first){//obj是一個(gè)object類型。包括了分頁(yè)的所有配置信息。first一個(gè)Boolean類,檢測(cè)頁(yè)面是否初始加載。非常有用,可避免無(wú)限刷新。 pageParams.pageIndex = obj.curr; pageParams.pageSize = jsonObj.pager.pageSize; if(!first){ renderPageData(laypageDivId, pageParams, templateId, resultContentId, url); } } }); }); } }); };
3、刷新當(dāng)前分頁(yè)的方法,可省略
/** * 分頁(yè)插件刷新當(dāng)前頁(yè)的數(shù)據(jù),必須有跳轉(zhuǎn)的確定按鈕,因?yàn)楦鶕?jù)按鈕點(diǎn)擊事件刷新 */ function reloadCurrentPage(){ $(".layui-laypage-btn").click(); };
三、頁(yè)面代碼
1、分頁(yè)表格及分頁(yè)控件
許可名稱 許可編碼 菜單名稱 許可鏈接
2、分頁(yè)模板
3、分頁(yè)執(zhí)行代碼:
分頁(yè)參數(shù):
function getPageParams(){ var pageParams = { pageIndex : 1, pageSize : 2 }; pageParams.permissionName = $("input[name='permissionName']").val(); pageParams.permissionCode = $("input[name='permissionCode']").val(); pageParams.menuName = $("input[name='menuName']").val(); return pageParams; };
分頁(yè)執(zhí)行方法:
function initPage(){ renderPageData("imovie-page-div", getPageParams(), "page_template_id", "page_template_body_id", basePath + '/sysPermission/pageSysPermission'); };
頁(yè)面加載初始化分頁(yè):
$(function(){ initPage(); });
如果包括上面效果圖的查詢,如下:
Html頁(yè)面代碼
查詢語(yǔ)句:
$(function(){ initPage(); layui.use(['form'], function(){ var form = layui.form(); //監(jiān)聽(tīng)提交 formon('submit(formFilter)', function(data){ initPage(); return false; }); }); });
感謝各位的閱讀!關(guān)于“基于LayUI分頁(yè)和LayUI laypage分頁(yè)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!