国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

利用jQuery中的ajax分頁實現代碼

2024-07-10 13:29:55
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了利用jQuery中的ajax分頁實現代碼的相關資料,對ajax分頁感興趣的朋友可以參考一下
 

本文實例講解了用jQuery中的ajax分頁相關代碼,分享給大家供大家參考,具體內容如下

把分頁封裝到一個jsp里,那么大家就可以通過include的方式引入分頁的頁面這里起名為page_ajax.jsp
本人封裝后,使用者需要在頁面中引入page_ajax.jsp,并且在查詢列表的時候,點擊按鈕,調用自定義的方法,如myFunction(),在這個方法里頭,調用自己拓展的jquer方法,$.pageAjax(url,functionName,showDIv);
這里的url是你要請求的ajax的url,functionName為你要得到回調數據后處理拼串給tbody動態賦值的方法,而showDIv是你隱藏的div。
也就是這樣寫即可:

function pageAjax(){     var url="${ctx}/system/conProductInfo/listOfAjax.action";     $.pageAjax(url,"productMessageDiv","showList");   } 

productMessageDiv:這個就是你預先隱藏的div如下:

<div style="display: none;">   <div id="productMessageDiv" class="showParentDiv" style="width:950px;height:400px">         <div id="showProductListMsg">            <div class="grayBg">              <div id="toolbarScroll">                <span>                  <input type="button" value=" 確定 " onclick="submitProductMessage();"/>                  <input type="button" value=" 取消 " onclick="closeProduct();"/>                   <input type="button"  value=" 查詢 " onclick="selectProduct();" />                  <input id="value" name="value" type="text" class="width_132"/>                  <select id="key" name="key" class="width_115">                  </select>                </span>              </div>             <div class="page" id="page">               <jsp:include page="/portal/common/page/page_ajax.jsp"/>             </div>             <div class="clearFloat"></div>           </div>         <div class="scrollInfo">           <div class="tableInfo" style="overflow-y:scroll; height:365px;">               <table id="dragTable" border="0" cellpadding="0" cellspacing="0" id="listTable">                 <thead>                   <tr>                     <td width="4%">                       <input type="checkbox" id="selectallCheckBox" onclick="selectListall();"/>                     </td>                     <td width="%">產品編碼</td>                     <td width="%">產品名稱</td>                     <td width="%">產品型號</td>                     <td width="%">產品品牌</td>                     <td width="%">產品分類</td>                     <td width="%">供應商</td>                     <td width="%">產品規格</td>                   </tr>                 </thead>                 <tbody id="msgContent">                                      </tbody>               </table>            </div>         </div> 

showList這個就是你得到回調數據調用的方法:

function showList(data){     var list=data.list;      var str;      if(list==""||list==null){       str="<tr><td colspan=/"9/"><span class=/"tip/">系統無紀錄!</span></td></tr>";               }else{        for(var i=0;i<list.length;i++){         str=str+" <tr id=/"contentTr"+i+"/"><td><input name=/"selectIds/" type=/"checkbox/" value=/""+list[i].id+"/"/></td><td>"+list[i].productCode+"</td><td>"+list[i].productName+"</td><td>"+list[i].productType+"</td><td>"+list[i].brandName+"</td><td>"+list[i].typeName+"</td><td>"+list[i].companyShortname+"</td><td>"+list[i].productCode+"</td></tr>";        }      }      if($('#key').val()==""||$('#key').val()==null)$('#key').append("<option value='productName'>產品名稱</option><option value='productCode'>產品編號</option>");      $("#msgContent").empty();      $("#msgContent").append(str);   } 

復雜點的東西在page_ajax.jsp里頭

var ajaxUrl; var showDivName; var ajaxFunctionName; jQuery.extend({   pageAjax: function(url,div,functionName){     ajaxUrl=url;     showDivName=div;     ajaxFunctionName=functionName;     $.ajax({       url:url,       data:{"pageRequest.page":$('#pagePage').val(),"pageRequest.rows":$('#pageRows').val()},       dataType: "json",       success: function(data){         eval(functionName+"(data)");          $.changePageAjax(data);         showWin(div);       }     });   },   pageAjaxOfParam: function(url,div,functionName,key,value){     $.ajax({       url:url,       data:{"pageRequest.page":$('#pagePage').val(),"pageRequest.rows":$('#pageRows').val(),"key":key,"value":value},       dataType: "json",       success: function(data){         eval(functionName+"(data)");          $.changePageAjax(data);         showWin(div);       }     });   }   ,   changePageAjax: function(data) {     var totalCount = data.totalCount;      changeDefaultRows(data);     var pageCount = totalCount % parseInt($("#pageRows").val())== 0 ?            parseInt(totalCount/parseInt($("#pageRows").val())):           parseInt(totalCount/parseInt($("#pageRows").val()))+1;     $("#totalPage").html(pageCount+'');      $("#totalCount").html(totalCount+'');     changeButton(pageCount);    } });  function changePage(pageTitle) {   if(pageTitle == "previous"){     $('#pagePage').val(parseInt($('#pagePage').val()) - 1);   }else if(pageTitle == "next"){     $('#pagePage').val(parseInt($('#pagePage').val()) + 1);   }else if(pageTitle == "first"){     $('#pagePage').val(1);   }else if(pageTitle == "last"){     var totalCount = parseInt($('#totalCount').html());     $('#pagePage').val(parseInt((totalCount - 1) / parseInt($('#pageRows').val()) + '') + 1);   }   go(); }  function goToPointedPage(){   var pointedPageNum = $('#forwardPageNum').val();   var patrn = /^/+?[1-9][0-9]*$/;   if(!patrn.exec(pointedPageNum)){     alert('頁數請輸入正整數');     return;   }   if(parseInt(pointedPageNum) > parseInt($('#totalPage').html())){     alert('輸入頁數不得超過最大頁數');     return;   }   $('#pagePage').val(parseInt(pointedPageNum));   go(); }  function changeButton(pageCount){   $('#forwardPageNum').val($('#pagePage').val());   if(pageCount == 1){     $("#beforePage").attr("disabled","disabled");      $("#firstPage").attr("disabled","disabled");      $("#nextPage").attr("disabled","disabled");       $("#lastPage").attr("disabled","disabled");    }else if($("#forwardPageNum").val() < pageCount){ //如果頁數比總頁數小,則下一頁和末頁能用     $("#nextPage").removeAttr("disabled");     $("#lastPage").removeAttr("disabled");     if($("#forwardPageNum").val() >1){   //如果頁數大于1,說明  1<頁數<總頁數 說明全部都可用       $("#firstPage").removeAttr("disabled");       $("#beforePage").removeAttr("disabled");     }else{                   //在頁數比總頁數小的其他情況下,就只存在一種就是等于1        $("#firstPage").attr("disabled","disabled"); //當等于1 的時候,首頁和上一頁不可用       $("#beforePage").attr("disabled","disabled");     }   } else{     $("#beforePage").removeAttr("disabled");      $("#firstPage").removeAttr("disabled");      $("#nextPage").attr("disabled","disabled");     $("#lastPage").attr("disabled","disabled");   } }  function changeDefaultRows(data){   if($("#pageRows").val()==null||$("#pageRows").val()==""){     $("#pageRows").empty();     $("#pageRows").append("<option value='"+data.pAGESIZES[0]+"'>默認條數</option><option value='"+data.pAGESIZES[1]+"'>"+data.pAGESIZES[1]+"</option><option value='"+data.pAGESIZES[2]+"'>"+data.pAGESIZES[2]+"</option>");   } }  function changeRows(){   $('#pagePage').val(1);   go(); } function go(){   $.pageAjax(ajaxUrl,showDivName,ajaxFunctionName); }  function clearPageInfo(){   $("#pagePage").val('1'); }  $(function(){   $("body").keydown(function(event){      if(event.keyCode == 13){        goToPointedPage();     }   });  });  </script> <div class="toolbarScroll">   <s:hidden name="pageRequest.page" id="pagePage"/>   <input id="firstPage" value=" 首頁 " type="button" onclick="changePage('first')"/>   <input id="beforePage" value=" 上一頁 " type="button" onclick="changePage('previous')"/>   <input size="6" maxlength="3" id="forwardPageNum" class="formStylePage" onblur="goToPointedPage()" value="" type="text" style="text-align: center;"/>/   <span class="currentPage" id="totalPage">   </span>   <input id="nextPage" value=" 下一頁 " type="button" onclick="changePage('next')"/>   <input id="lastPage" value=" 末頁 " type="button" onclick="changePage('last')"/>   共<span id="totalCount"></span>條   <span>     <select id="pageRows" name="pageRequest.rows" onchange="changeRows()"></select>   </span> </div> 

要明白ajax請求的時候是刷新你特定的部門,我一開始就在這里出了問題。其實在做分頁的時候,給后臺傳值,只是當前頁和每頁的顯示個數,其他沒了,分頁的按鈕和下方的列表是分離的,不用去聯系,這樣能使問題簡單。時間有限就這樣了,仔細看代碼就可以了。

以上就是本文的全部內容,希望對大家學習jquery程序設計有所幫助。



注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 饶河县| 壶关县| 建瓯市| 且末县| 定远县| 浠水县| 马龙县| 孝感市| 霍林郭勒市| 曲沃县| 天全县| 定边县| 崇文区| 淳安县| 政和县| 阿克陶县| 噶尔县| 泽库县| 股票| 河源市| 乳山市| 延长县| 泰安市| 玉树县| 兴宁市| 黄冈市| 赤壁市| 昌乐县| 罗江县| 鹤庆县| 鄯善县| 仁寿县| 安吉县| 贵南县| 潢川县| 和林格尔县| 通辽市| 邹平县| 惠安县| 镇江市| 惠水县|