基於Jquery+Ajax+Json實現分頁顯示附效果圖_jquery

來源:互聯網
上載者:User

1.後台action產生json資料。

List blackList = blackService.getBlackInfoList(mobileNum, gatewayid, startDate, endDate); int totalRows = blackList.size(); StringBuffer sb = new StringBuffer(); sb.append("{\"totalCount\":\""+totalRows+"\","); sb.append("\"jsonRoot\":["); for (int i=0;i<blackList.size();i++) { LBlack blackInfo = (LBlack)blackList.get(i); sb.append("{\"id\":\""+ blackInfo.getId()); sb.append("\","); sb.append("\"mobile\":\""+ blackInfo.getMobile()); sb.append("\","); sb.append("\"province\":\""+ blackInfo.getProvince()); sb.append("\","); sb.append("\"gateway\":\""+ blackInfo.getGateway()); sb.append("\","); sb.append("\"insertTime\":\""+ blackInfo.getInsertTime()); sb.append("\","); sb.append("\"remark\":\""+ blackInfo.getRemark()); sb.append("\""); sb.append("},"); } sb.deleteCharAt(sb.lastIndexOf(",")); // 刪去最後一個逗號 sb.append("]}"); HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("text/plain"); response.getWriter().print(sb);

2.struts.xml相關配置

<action name="blackList" class="blackAction" method="blackList"> <!--plaintext用於顯示頁面原始代碼的結果類型--> <result type="plainText"> <param name="charSet">UTF-8</param> <param name="location">/WEB-INF/jsp/manage/black.jsp</param> </result> </action>

3.js擷取json資料分頁顯示

function getJSONData(pn) { // alert(pn); $.getJSON("blackList.ce", function(data) { var totalCount = data.totalCount; // 總記錄數 var pageSize = 10; // 每頁顯示幾條記錄 var pageTotal = Math.ceil(totalCount / pageSize); // 總頁數 var startPage = pageSize * (pn - 1); var endPage = startPage + pageSize - 1; var $ul = $("#json-list"); $ul.empty(); for (var i = 0; i < pageSize; i++) { $ul.append('<li class="li-tag"></li>'); } var dataRoot = data.jsonRoot; if (pageTotal == 1) { // 當只有一頁時 for (var j = 0; j < totalCount; j++) { $(".li-tag").eq(j).append("<span class='col1'><input type='checkbox' value='"+parseInt(j + 1)+"'/></span>") .append("<span class='col2'>" + parseInt(j + 1) + "</span>").append("<span class='col3'>" + dataRoot[j].mobile + "</span>").append("<span class='col4'>" + dataRoot[j].province + "</span>").append("<span class='col5'>" + dataRoot[j].gateway + "</span>").append("<span class='col6'>" + dataRoot[j].insertTime + "</span>").append("<span class='col7'>" + dataRoot[j].remark + "</span>") } } else { for (var j = startPage, k = 0; j < endPage, k < pageSize; j++, k++) { if( j == totalCount){ break; // 當遍曆到最後一條記錄時,跳出迴圈 } $(".li-tag").eq(k).append("<span class='col1'><input type='checkbox' value='"+parseInt(j + 1)+"'/></span>") .append("<span class='col2'>" + parseInt(j + 1) + "</span>").append("<span class='col3'>" + dataRoot[j].mobile + "</span>").append("<span class='col4'>" + dataRoot[j].province + "</span>").append("<span class='col5'>" + dataRoot[j].gateway + "</span>").append("<span class='col6'>" + dataRoot[j].insertTime + "</span>").append("<span class='col7'>" + dataRoot[j].remark + "</span>") } } $(".page-count").text(pageTotal); }) } function getPage() { $.getJSON("blackList.ce", function(data) { pn = 1; var totalCount = data.totalCount; // 總記錄數 var pageSize = 10; // 每頁顯示幾條記錄 var pageTotal = Math.ceil(totalCount / pageSize); // 總頁數 $("#next").click(function() { if (pn == pageTotal) { alert("後面沒有了"); pn = pageTotal; } else { pn++; gotoPage(pn); } }); $("#prev").click(function() { if (pn == 1) { alert("前面沒有了"); pn = 1; } else { pn--; gotoPage(pn); } }) $("#firstPage").click(function() { pn = 1; gotoPage(pn); }); $("#lastPage").click(function() { pn = pageTotal; gotoPage(pn); }); $("#page-jump").click(function(){ if($(".page-num").val() <= pageTotal && $(".page-num").val() != ''){ pn = $(".page-num").val(); gotoPage(pn); }else{ alert("您輸入的頁碼有誤!"); $(".page-num").val('').focus(); } }) $("#firstPage").trigger("click"); }) } function gotoPage(pn) { // alert(pn); $(".current-page").text(pn); getJSONData(pn) } $(function() { getPage(); })

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.