在jQuery中如何实现动态数据分页
本片文章教给大家用jQuery实现页码跳转式动态数据分页,效果非常好而且没有页面刷新,需要的朋友学习下吧。
我们这次给大家带来的是用jQuery实现页码跳转式动态数据分页这个效果,这个效果最明显的就是没有数据加载和刷新页面这个过程,再做小型数据的加载也多级网页加载的时候很有效。我们先来看下实际效果:
下面我们给出全部效果代码:
HTML全部代码:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>jQuery实现页码跳转式动态数据分页-脚本之家</title> <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> <!-- <script type="text/javascript" src="back-endPage.js"></script> --> <!-- 后台分页 --> <script type="text/javascript" src="js/front-endPage.js"></script><!-- 前台分页 --> <script type="text/javascript" src="js/shujv2.js"></script> <link rel="stylesheet" type="text/css" href="css/table.css" rel="external nofollow" > </head> <body> <p id="histroyBox"></p> <script type="text/javascript"> //前台分页的样子 $('#histroyBox').CJJTable({ 'title':["装点","卸点","运输货物","下单日期","作者"],//thead中的标题 必填 'body':["taskCode","startAddr","endAddr","varietiesTypeName","createDate","customerName"],//tbody td 取值的字段 必填 'display':[1,1,1,1,1,2],//隐藏域,1显示,2隐藏 必填 'pageNUmber':10,//每页显示的条数 选填 'pageLength':data.length,//选填 'url':data,//数据源 必填 dbTrclick:function(e){//双击tr事件 alert(e.find('.taskCode').html()) } }); //后台分页的样子 /*$('#histroyBox').CJJTable({ 'title':["装点","卸点","运输货物","下单日期"],//thead中的标题 必填 'body':["contactName","contactMobliePhone","carrierName","taskNum","taskCustomerExpectPrice","taskCustomerBudgetFreight"],//tbody td 取值的字段 必填 'display':[1,1,1,1,2,2],//隐藏域,1显示,2隐藏 必填 'pageJson':{ "taskId":528710, "pageSize":100,//ajax请求参数中的每页展示数量 选填 "token":"yJUmunFeG3REqisYAmCfeA" }, 'url':'api/quoted/quotedList',//数据源 必填 dbTrclick:function(that){ //双击tr事件 alert(that.find('.contactName').html()) } });*/ </script> </body> </html>
其中是数据JS内容,大家在实际操作的时候可以用JS获取json达到要的数据格式:
shujv2.js代码:
var data = [ { "warehouseID" : "3750", "warehouseCode" : "CK20140825061813777127447", "province" : "上海", "endProvince" : "江苏省", "provinceId" : "310000", "cityId" : "310100", "areaId" : "310109", "endProvinceId" : "320000", "endCityId" : "320600", "endAreaId" : "320612", "materialId" : "0", "material" : "", "specId" : "0", "productNId" : "0", "varietiesId" : "8", "varietiesTypeId" : "621", "taskCode" : "T1611230481", "customerID" : "20147", "customerName" : "脚本之家", "createDate" : "2016-11-23 18:41:40", "wareHouseName" : "找钢仓库", "city" : "上海市", "area" : "虹口区", "startAddr" : "逸仙路25号", "endCity" : "南通市", "endArea" : "通州区", "endAddr" : "1", "varietiesTypeName" : "钢材", "varieties" : "线材", "productN" : "", "spec" : "", "weight" : "1", "num" : "1", "receiver" : "", "receiverPhone" : "1", "remark" : "", "label" : "", "startAddrNumber" : "1", "varietiesNumber" : "1", "contactsId" : "22494", "contactsName" : "刘宇测试" } ]
front-endPage.js是分页加载的效果实现。代码为:
;(function($, window, document,undefined) { var cjjTable = function(ele,opt){ this.$element = ele, this.defaults ={ title:null, body:null, display:null, pageNUmber:8, pageLength:0, url:null, dbTrclick:function(that){ } } this.options = $.extend({},this.defaults,opt) } cjjTable.prototype = { start:function(){ var _this = this; var titlelistBox=""; var titlesmall=""; for(var i=0;i<_this.options.title.length;i++){ titlesmall+="<th>"+_this.options.title[i]+"</th>"; titlelistBox = titlesmall; } var json = ""; var maxpagenumberBox = 7;//选择项最多的数量 var json = this.options.url; var histroy_DDBox = ""; var histroy_DD = ""; var firstPageNumber=_this.options.pageLength>_this.options.pageNUmber?_this.options.pageNUmber:_this.options.pageLength; for (var i = 0; i <firstPageNumber; i++) { var bodyBigBox=""; var bodyBox=""; for(var x=0;x<_this.options.body.length;x++){ var type = _this.options.body[x]; var display = "table-cell"; if(_this.options.body.length>_this.options.title.length&&_this.options.display[x]!=undefined){ display = _this.options.display[x]*1==1?"table-cell":"none"; } bodyBox+="<td class='"+type+"' style='display:"+display+"'>"+json[i][type]+"</td>"; bodyBigBox = bodyBox; } histroy_DD +="<tr class='new_productBox'>"+bodyBigBox+"</tr>"; histroy_DDBox = histroy_DD; } $( _this.$element.selector+" table tfoot").html(""); if (Math.ceil(_this.options.pageLength/ _this.options.pageNUmber) == 1) { $( _this.$element.selector+" .nextPage").css("display", "none"); $(_this.$element.selector+" .endPage").css("display", "none"); } var maxpagenumberBoxBigbox = ""; var maxpagenumberBoxBig = ""; if (Math.ceil(_this.options.pageLength/ _this.options.pageNUmber) < maxpagenumberBox) { for (var i = 0; i < Math.ceil(_this.options.pageLength/ _this.options.pageNUmber); i++) { var className = ""; if(i==0){ className = "pagenumberBoxLi"; } maxpagenumberBoxBig += '<li class="'+className+'">' + (i * 1 + 1) + '</li>'; maxpagenumberBoxBigbox = maxpagenumberBoxBig; } } else { for (var i = 0; i < maxpagenumberBox; i++) { var className = ""; if(i==0){ className = "pagenumberBoxLi"; } maxpagenumberBoxBig += '<li class="'+className+'">' + (i * 1 + 1) + '</li>'; maxpagenumberBoxBigbox = maxpagenumberBoxBig; } } var buttonTfoot = "<tr>"+ "<td colspan='"+_this.options.title.length+"'>"+ "<p style='float:right;margin-left:10px;' class='tfootRight'>"+ "<input placeholder='输入页码' type='text'>"+ "<button>确定</button>"+ "</p>"+ "<p style='float:right'>"+ "<span class='firstPage' style='margin-right:10px;cursor: pointer;float:left;display: none;margin-left:10px;'>首页</span>"+ "<span class='lastPage' style='margin-right:10px;cursor: pointer;float:left;display: none;'>上一页</span>"+ "<ul class='pagenumberBox'>"+maxpagenumberBoxBigbox+"</ul>"+ "<input class='typeNumber' type='text' value='1' onfocus='this.blur()' style='display:none;width:20px;height:20px;text-align:center;line-height:20px;border:1px solid #666;margin-right:5px;float:left;margin-top:2.5px;'>"+ "<span class='nextPage' style='margin-right:10px;float:left;cursor: pointer;'>下一页</span>"+ "<span class='endPage' style='cursor: pointer;float:left;'>尾页</span>"+ "</p>"+ "<p style='float:right'>"+ "<select><option value='5'>5</option><option value='10'>10</option><option value='20'>20</option><option value='50'>50</option><option value='100'>100</option><option value='200'>200</option><option value='500'>500</option></select>" "</p>"+ "</p>"+ "<td>"+ "<tr>"; _this.$element.html("<table class='CJJ-Table'><thead>"+titlelistBox+"</thead><tbody>"+histroy_DDBox+"</tbody><tfoot>"+buttonTfoot+"</tfoot></table>"); $(_this.$element.selector+ ' select').val(_this.options.pageNUmber); if(Math.ceil(_this.options.pageLength/_this.options.pageNUmber)<2){ $(_this.$element.selector+ ' .endPage').hide(); $(_this.$element.selector+ ' .nextPage').hide(); } $(_this.$element.selector+ ' .tfootRight input').unbind('keyup').keyup(function(){ _this.inputKeyup(_this,maxpagenumberBox,json); }) $(_this.$element.selector+ ' .tfootRight button').unbind('click').click(function(){ _this.button(_this,maxpagenumberBox,json); }); $(_this.$element.selector+ ' .firstPage').unbind('click').click(function(){ _this.firstPage(_this,maxpagenumberBox,json); }); $(_this.$element.selector+ ' .endPage').unbind('click').click(function(){ _this.endPage(_this,maxpagenumberBox,json); }); $(_this.$element.selector+ ' .nextPage').unbind('click').click(function(){ _this.nextPage(_this,maxpagenumberBox,json); }); $(_this.$element.selector+ ' table tfoot ul li').unbind('click').click(function(){ _this.nextTableLi(_this,maxpagenumberBox,json,$(this)); }); $(_this.$element.selector+ ' .lastPage').unbind('click').click(function(){ _this.lastPage(_this,maxpagenumberBox,json); }); $(_this.$element.selector+ ' select').unbind('change').change(function(){ _this.select(_this,maxpagenumberBox,json,$(this)); }); $(_this.$element.selector+ ' tbody tr').unbind('dblclick').dblclick(function(){ _this.options.dbTrclick($(this)); }); }, inputKeyup:function(e,maxpagenumberBox,json){ var val = $(e.$element.selector+ " .tfootRight input").val(); if (val == 0) { var val2 = val.replace(0, ""); } else if (val > 0 && val <= Math.ceil(e.options.pageLength / e.options.pageNUmber)) { var val2 = val.replace(/[^0-9]/g, ""); } else if (val > Math.ceil(e.options.pageLength/ e.options.pageNUmber)) { var val2 = Math.ceil(e.options.pageLength / e.options.pageNUmber); } $(e.$element.selector+ ' .tfootRight input').val(val2); }, button:function(e,maxpagenumberBox,json){ var val = $(e.$element.selector+ ' .tfootRight input').val(); $(e.$element.selector+ " .typeNumber").val(val); if (val != "") { e.page($(e.$element.selector+ " .typeNumber").val(), e.options.pageNUmber, maxpagenumberBox,json,e.$element, e); } }, firstPage:function(e,maxpagenumberBox,json){ $(e.$element.selector+ " .typeNumber").val(1); e.page($(e.$element.selector+ " .typeNumber").val(), e.options.pageNUmber, maxpagenumberBox,json,e.$element, e); }, endPage:function(e,maxpagenumberBox,json){ $(e.$element.selector+ " .typeNumber").val(Math.ceil(e.options.pageLength / e.options.pageNUmber)); e.page($(e.$element.selector+ " .typeNumber").val(), e.options.pageNUmber, maxpagenumberBox,json,e.$element, e); }, nextPage:function(e,maxpagenumberBox,json){ var number = $(e.$element.selector+ " .typeNumber").val(); $(e.$element.selector+ " .typeNumber").val(number * 1 + 1); e.page($(e.$element.selector+ " .typeNumber").val(), e.options.pageNUmber, maxpagenumberBox,json,e.$element, e); }, nextTableLi:function(e,maxpagenumberBox,json,that){ var val = that.html(); $(e.$element.selector+ " .typeNumber").val(val); e.page($(e.$element.selector+ " .typeNumber").val(), e.options.pageNUmber, maxpagenumberBox,json,e.$element, e); }, lastPage:function(e,maxpagenumberBox,json){ var number = $(e.$element.selector+ " .typeNumber").val(); if (number > 1) { $(e.$element.selector+ " .typeNumber").val(number * 1 - 1); e.page($(e.$element.selector+ " .typeNumber").val(), e.options.pageNUmber, maxpagenumberBox,json,e.$element, e); } }, select:function(e,maxpagenumberBox,json,that){ var select = that.find("option:selected").val(); $(e.$element.selector+ " .typeNumber").val(1); e.options.pageNUmber = select; e.page($(e.$element.selector+ " .typeNumber").val(), e.options.pageNUmber, maxpagenumberBox,json,e.$element, e); }, page:function(Pagenumber, pageNUmber, maxpagenumberBox,json,that,e) { var histroy_DDBox = ""; var histroy_DD = ""; var lastPage=Pagenumber<Math.ceil(e.options.pageLength / pageNUmber)?Pagenumber*pageNUmber:e.options.pageLength; for (var i =(Pagenumber-1)*pageNUmber; i < lastPage; i++) { var bodyBigBox=""; var bodyBox=""; for(var x=0;x<e.options.body.length;x++){ var type = e.options.body[x]; var display = "table-cell"; if(e.options.body.length>e.options.title.length&&e.options.display[x]!=undefined){ display = e.options.display[x]*1==1?"table-cell":"none"; } bodyBox+="<td class='"+type+"' style='display:"+display+"'>"+json[i][type]+"</td>"; bodyBigBox = bodyBox; } histroy_DD +="<tr class='new_productBox'>"+bodyBigBox+"</tr>"; histroy_DDBox = histroy_DD; } $(that.selector+" table tbody").html(histroy_DD); var maxpagenumberBoxBigbox = ""; var maxpagenumberBoxBig = ""; if (Math.ceil(e.options.pageLength/ e.options.pageNUmber) < maxpagenumberBox) { for (var i = 0; i < Math.ceil(e.options.pageLength/ e.options.pageNUmber); i++) { var className = ""; if(i==0){ className = "pagenumberBoxLi"; } maxpagenumberBoxBig += '<li class="'+className+'">' + (i * 1 + 1) + '</li>'; maxpagenumberBoxBigbox = maxpagenumberBoxBig; } } else { for (var i = 0; i < maxpagenumberBox; i++) { var className = ""; if(i==0){ className = "pagenumberBoxLi"; } maxpagenumberBoxBig += '<li class="'+className+'">' + (i * 1 + 1) + '</li>'; maxpagenumberBoxBigbox = maxpagenumberBoxBig; } } $(that.selector+" table tfoot ul").html(maxpagenumberBoxBigbox); if (Pagenumber == 1) { $(that.selector+" .firstPage,"+that.selector+" .lastPage").hide(); } else { $(that.selector+" .firstPage,"+that.selector+" .lastPage").show(); } if (Pagenumber == Math.ceil(e.options.pageLength / pageNUmber)) { $(that.selector+" .endPage,"+that.selector+" .nextPage").hide(); } else { $(that.selector+" .endPage,"+that.selector+" .nextPage").show(); } if (Math.ceil(e.options.pageLength/ pageNUmber) > maxpagenumberBox) { if (Pagenumber > 0 && Pagenumber < Math.ceil(maxpagenumberBox / 2) * 1 + 1) { maxpagenumberBoxBigbox = ""; maxpagenumberBoxBig = ""; for (var i = 0; i < maxpagenumberBox; i++) { maxpagenumberBoxBig += '<li>' + (i * 1 + 1) + '</li>'; maxpagenumberBoxBigbox = maxpagenumberBoxBig; } $(that.selector+" .pagenumberBox").html(maxpagenumberBoxBigbox); $(that.selector+' .pagenumberBox li').eq(Pagenumber - 1).addClass('pagenumberBoxLi'); } else if (Pagenumber >= Math.ceil(maxpagenumberBox / 2) * 1 + 1 && Pagenumber < Math.ceil(e.options.pageLength / pageNUmber) - Math.ceil(maxpagenumberBox / 2) + 2) { maxpagenumberBoxBigbox = ""; maxpagenumberBoxBig = ""; for (var i = Pagenumber - Math.ceil(maxpagenumberBox / 2) + 1; i < Pagenumber * 1 + Math.ceil(maxpagenumberBox / 2) * 1; i++) { maxpagenumberBoxBig += '<li>' + (i) + '</li>'; maxpagenumberBoxBigbox = maxpagenumberBoxBig; } $(that.selector+" .pagenumberBox").html(maxpagenumberBoxBigbox); $(that.selector+' .pagenumberBox li').eq(Math.ceil(maxpagenumberBox / 2) - 1).addClass('pagenumberBoxLi'); } else if (Pagenumber >= Math.ceil(e.options.pageLength / pageNUmber) - Math.ceil(maxpagenumberBox / 2) + 2 && Pagenumber <= Math.ceil(e.options.pageLength / pageNUmber)) { maxpagenumberBoxBigbox = ""; maxpagenumberBoxBig = ""; for (var i = Math.ceil(e.options.pageLength / pageNUmber) - maxpagenumberBox; i < Math.ceil(e.options.pageLength / pageNUmber); i++) { maxpagenumberBoxBig += '<li>' + (i * 1 + 1) + '</li>'; maxpagenumberBoxBigbox = maxpagenumberBoxBig; } $(that.selector+" .pagenumberBox").html(maxpagenumberBoxBigbox); $(that.selector+' .pagenumberBox li').eq(Pagenumber - Math.ceil(e.options.pageLength/ pageNUmber) + maxpagenumberBox * 1 - 1).addClass('pagenumberBoxLi'); } } else { if (Pagenumber <= Math.ceil(e.options.pageLength / pageNUmber)) { $(that.selector+' .pagenumberBox li').removeClass('pagenumberBoxLi'); $(that.selector+' .pagenumberBox li').eq(Pagenumber - 1).addClass('pagenumberBoxLi'); } } $(that.selector+ ' table tfoot ul li').unbind('click').click(function(){ e.nextTableLi(e,maxpagenumberBox,json,$(this)); }); $(that.selector+ ' tbody tr').unbind('dblclick').dblclick(function(){ e.options.dbTrclick($(this)); }); } } $.fn.CJJTable = function(options){ var cjj = new cjjTable(this,options); return cjj.start(); } })(jQuery, window, document);
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
使用async-validator如何编写Form组件(详细教程)
使用casperjs和resemble.js如何实现像素对比(详细教程)
Atas ialah kandungan terperinci 在jQuery中如何实现动态数据分页. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penjelasan terperinci kaedah rujukan jQuery: Panduan Mula Pantas jQuery ialah perpustakaan JavaScript yang popular yang digunakan secara meluas dalam pembangunan tapak web Ia memudahkan pengaturcaraan JavaScript dan menyediakan pemaju dengan fungsi dan ciri yang kaya. Artikel ini akan memperkenalkan kaedah rujukan jQuery secara terperinci dan menyediakan contoh kod khusus untuk membantu pembaca bermula dengan cepat. Memperkenalkan jQuery Pertama, kita perlu memperkenalkan perpustakaan jQuery ke dalam fail HTML. Ia boleh diperkenalkan melalui pautan CDN atau dimuat turun

Bagaimana untuk menggunakan kaedah permintaan PUT dalam jQuery? Dalam jQuery, kaedah menghantar permintaan PUT adalah serupa dengan menghantar jenis permintaan lain, tetapi anda perlu memberi perhatian kepada beberapa butiran dan tetapan parameter. Permintaan PUT biasanya digunakan untuk mengemas kini sumber, seperti mengemas kini data dalam pangkalan data atau mengemas kini fail pada pelayan. Berikut ialah contoh kod khusus menggunakan kaedah permintaan PUT dalam jQuery. Mula-mula, pastikan anda memasukkan fail perpustakaan jQuery, kemudian anda boleh menghantar permintaan PUT melalui: $.ajax({u

jQuery ialah perpustakaan JavaScript yang pantas, kecil dan kaya dengan ciri yang digunakan secara meluas dalam pembangunan bahagian hadapan. Sejak dikeluarkan pada tahun 2006, jQuery telah menjadi salah satu alat pilihan untuk banyak pembangun, tetapi dalam aplikasi praktikal, ia juga mempunyai beberapa kelebihan dan kekurangan. Artikel ini akan menyediakan analisis mendalam tentang kelebihan dan kekurangan jQuery dan menggambarkannya dengan contoh kod khusus. Kelebihan: 1. Sintaks ringkas Reka bentuk sintaks jQuery adalah ringkas dan jelas, yang boleh meningkatkan kebolehbacaan dan kecekapan menulis kod. sebagai contoh,

Bagaimana untuk mengalih keluar atribut ketinggian elemen dengan jQuery? Dalam pembangunan bahagian hadapan, kita sering menghadapi keperluan untuk memanipulasi atribut ketinggian elemen. Kadangkala, kita mungkin perlu menukar ketinggian unsur secara dinamik, dan kadangkala kita perlu mengalih keluar atribut ketinggian unsur. Artikel ini akan memperkenalkan cara menggunakan jQuery untuk mengalih keluar atribut ketinggian elemen dan memberikan contoh kod khusus. Sebelum menggunakan jQuery untuk mengendalikan atribut ketinggian, kita perlu terlebih dahulu memahami atribut ketinggian dalam CSS. Atribut ketinggian digunakan untuk menetapkan ketinggian elemen

Tajuk: Petua jQuery: Cepat ubah suai teks semua teg pada halaman Dalam pembangunan web, kita selalunya perlu mengubah suai dan mengendalikan elemen pada halaman. Apabila menggunakan jQuery, kadangkala anda perlu mengubah suai kandungan teks semua teg dalam halaman sekaligus, yang boleh menjimatkan masa dan tenaga. Berikut akan memperkenalkan cara menggunakan jQuery untuk mengubah suai teks semua teg pada halaman dengan cepat, dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan fail perpustakaan jQuery dan memastikan bahawa kod berikut dimasukkan ke dalam halaman: <

Tajuk: Gunakan jQuery untuk mengubah suai kandungan teks semua teg jQuery ialah perpustakaan JavaScript yang popular yang digunakan secara meluas untuk mengendalikan operasi DOM. Dalam pembangunan web, kita sering menghadapi keperluan untuk mengubah suai kandungan teks tag pautan (tag) pada halaman. Artikel ini akan menerangkan cara menggunakan jQuery untuk mencapai matlamat ini dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan perpustakaan jQuery ke dalam halaman. Tambahkan kod berikut dalam fail HTML:

Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Apabila menggunakan jQuery untuk mengendalikan elemen DOM, anda sering menghadapi situasi di mana anda perlu menentukan sama ada sesuatu elemen mempunyai atribut tertentu. Dalam kes ini, kita boleh melaksanakan fungsi ini dengan mudah dengan bantuan kaedah yang disediakan oleh jQuery. Berikut akan memperkenalkan dua kaedah yang biasa digunakan untuk menentukan sama ada elemen jQuery mempunyai atribut khusus, dan melampirkan contoh kod tertentu. Kaedah 1: Gunakan kaedah attr() dan operator jenis // untuk menentukan sama ada elemen mempunyai atribut tertentu

jQuery ialah perpustakaan JavaScript popular yang digunakan secara meluas untuk mengendalikan manipulasi DOM dan pengendalian acara dalam halaman web. Dalam jQuery, kaedah eq() digunakan untuk memilih elemen pada kedudukan indeks tertentu Senario penggunaan dan aplikasi khusus adalah seperti berikut. Dalam jQuery, kaedah eq() memilih elemen pada kedudukan indeks yang ditentukan. Kedudukan indeks mula dikira dari 0, iaitu indeks elemen pertama ialah 0, indeks elemen kedua ialah 1, dan seterusnya. Sintaks kaedah eq() adalah seperti berikut: $("s
