推荐阅读:jQuery插件开发的优秀教程,让你的jQuery升级更上一层楼。
既然说到基于jQuery的ajax分页插件,那就先来看看主要的代码结构:(我觉得对于我们程序员来说,不管文字描述和介绍有多漂亮。
不如代码真实。)
1.首先,定义一个寻呼机对象:
var SJ Pager=window . SJ Pager={ opts : {//默认属性pagesize:pretext3360' pre ',nexttext3360' next ',firsttext3360' first ',lasttext3360' last ',shiftingLeft:shiftingRight:preLeast:nextLeast:showFirst: true,showLast:url: ' ',键入330);},} },},pagerElement: null,///分页dom元素commonhtmltext : {///common text变量},init3360function (obj,op){//对象初始化},dopage:function (index,pagesize,SearchParam) {//执行分页方法},get total page 3360 function(){//获取总页数},创建preandfirstbtn 3360 function(page textarr){//创建上一页和主页的按钮链接classname) {//create span}、create indextext3360函数(index,Text) {//create index text}、jump page : function(){//jump to } }对象包含分页的属性和方法,而doPage()是分页的核心方法。
2.扩展jQuery。
$ . fn . sjajaxpager=function(option){ return SJ pager . init($(this),option);};3.插件的使用。
bodytable id='dataTable '边框=' px '/table div id=' pager '/div/body $(function(){ $(' # pager ')。sjAjaxPager({ URL : ' handler . ashx ',pageSize:SearchParam: {/**如果有其他查询条件,可以直接在这里导入*/id:name:' test ',},beforesend:function () {},success3360function (data) {/* *返回的数据需要根据自己的需要进行处理*/vartablestr='。$.每个(数据项,函数(I,v){ tableStr=' trtd ' v . Id '/tdtd ' v . Name '/tdtd ' v . Age '/TD/tr ';});$('#dataTable ')。html(TabStr);},complete : function(){ } });})你有没有发现使用ajax和直接使用Ajax基本一样?
最后可以看到效果:(如果不设置表格样式就难看了,分页样式还可以根据需要修改css文件)。
F12打开调试工具,单击分页查看发送的请求和响应:
页面索引和页面大小是插件的默认参数,可以在后台的Request中直接获取。需要注意的是,插件的响应也需要遵循特定的格式{'total':0,' items':[]}。如上图所示,total表示数据记录的总数,items表示分页数据。
让我们看一个jquery ajax分页插件的例子。
1.0版本进行了重构,删除了部分代价函数,页面样式进行了优化。现有功能:
1)将数据一次性加载到页面内存中,并对页面进行分页。2)每次使用jquery的ajax从服务器获取数据进行分页。3)支持自定义页面栏样式,插件默认实现两种样式可供选择。
表id=' table 2 ' th width=' 200px '网站名称/th width=' 100px '网站地址/th width=' 100px '人气th width=' 120px '访问量/th/tr/the dtbad/t body/table $(' # table 2 ')。big page({ AJaxData: { URL : ' AJax . PHP ' } });