-
简单的jQuery分页插件封装怎么进行?0
在学习jQuery插件封装,依葫芦画瓢封装了一个简单的表格和分页,页面能初始化生成表格和分页,但生成后怎么能让分页插件执行分页和表格刷新工作就不晓得怎么继续了,希望熟悉jQuery插件开发的人能帮忙补齐一下。
预期的用法是,给插件传入一个后台的请求路径“"http://127.0.0.1:8080/account/findListForPage"”,通过路径返回一个分页json对象(当前页、总页、页面表格数据),通过解析json生成表格和分页部分:function reloadTable(code){ $("#acTableGrid").grid({ //content:$(".widget-body"), type: "POST", url:"${ctx}/account/findListForPage", column:[{"id":"编号","state":"状态","type":"类型","phone":"电话"}], page:true, param:{"pageCode":code}, }) }
(function($) { // plugin definition var GridTable = function(ele, options) { this.$element = ele, this.defaults = { page : false, type : "GET", url : undefined, param : undefined, pageData : undefined }, this.opts = $.extend({}, this.defaults, options) if(this.opts.url!=undefined&&this.opts.url!=""){ var dataObject = $.ajax({ async: false, type : this.opts.type, url : this.opts.url, data : this.opts.param, success : function(data) { return data } }); } this.opts.pageData = dataObject.responseJSON; } GridTable.prototype = { buildBody : function() { this.$element.empty(); this.$element.addClass("table table-striped table-bordered table-hover"); if (this.opts.column.length > 0) { var thead = $("<thead>"); var tr = $("<tr>").appendTo(thead); $.each(this.opts.column[0], function(name, value) { tr.append("<th>" + value + "</th>"); }); this.$element.append(thead) } var record = this.opts.pageData.data; if (record != undefined && record.length > 0) { var tbody = $("<tbody>"); for (i = 0; i < record.length; i++) { columnData = record[i]; var tr = $("<tr>"); $.each(this.opts.column[0], function(name, value) { tr.append("<td>" + columnData[name] + "</td>"); }); tbody.append(tr); } return this.$element.append(tbody) } }, buildPagin: function(){ var pageData = this.opts.pageData; if (this.opts.page) { var page = '<div class="dt-row dt-bottom-row">'; page = page + ' <input type="hidden" id="url" name="url" value="' + this.opts.url + '">'; page = page + ' <input type="hidden" id="pageSize" name="pageSize" value="' + pageData.pageSize + '">'; page = page + ' <input type="hidden" id="pageCode" name="pageCode" value="' + pageData.pageCode + '">'; page = page + ' <input type="hidden" id="totalPageNum" name="totalPageNum" value="' + pageData.totalPageNum + '">'; page = page + ' <div class="row">'; page = page + ' <div class="col-sm-6">'; page = page + ' <div class="dataTables_info" id="dt_basic_info">第' + pageData.pageCode + '/' + pageData.totalPageNum + '页 共' + pageData.totalRecords + '条记录</div>'; page = page + ' </div>'; page = page + ' <div class="col-sm-6 text-right">'; page = page + ' <div class="dataTables_paginate paging_bootstrap_full">'; page = page + ' <ul class="pagination">'; page = page + ' <li class="first"><a href="javascript:void(0)">首页</a></li>'; page = page + ' <li class="prev"><a href="javascript:void(0)">上一页</a></li>'; page = page + ' <li class="next"><a href="javascript:void(0)">下一页</a></li>'; page = page + ' <li class="last"><a href="javascript:void(0)">末尾页</a></li>'; page = page + ' </ul>'; page = page + ' </div>'; page = page + ' </div>'; page = page + ' </div>'; page = page + ' </div>'; this.$element.after(page); }, } $.fn.grid = function(options) { var grid = new GridTable(this, options); grid.buildBody(); grid.buildPagin(); return grid; }; })(jQuery);
生成的HTML结构如下://表格数据部分 <table id="acTableGrid" class="table table-striped table-bordered table-hover"><thead><tr><th>编号</th><th>状态</th><th>类型</th><th>电话</th><th>账号</th><th>注册时间</th><th>Email</th></tr></thead><tbody><tr><td>464690392101687300</td><td>null</td><td>0</td><td>null</td><td>15828245173</td><td>1399625797000</td><td>null</td></tr><tr><td>465404813799198700</td><td>null</td><td>0</td><td>null</td><td>313057544@qq.com</td><td>1399796129000</td><td>null</td></tr><tr><td>465442761785610240</td><td>null</td><td>0</td><td>null</td><td>15828245273</td><td>1399805176000</td><td>null</td></tr></tbody></table> //分页部分 <div class="dt-row dt-bottom-row"> <input type="hidden" id="url" name="url" value="/kmp/account/findListForPage"> <input type="hidden" id="pageSize" name="pageSize" value="3"> <input type="hidden" id="pageCode" name="pageCode" value="1"> <input type="hidden" id="totalPageNum" name="totalPageNum" value="3"> <div class="row"> <div class="col-sm-6"> <div class="dataTables_info" id="dt_basic_info">第1/3页 共7条记录</div> </div> <div class="col-sm-6 text-right"> <div class="dataTables_paginate paging_bootstrap_full"> <ul class="pagination"> <li class="first"><a href="javascript:void(0)">首页</a></li> <li class="prev"><a href="javascript:void(0)">上一页</a></li> <li class="next"><a href="javascript:void(0)">下一页</a></li> <li class="last"><a href="javascript:void(0)">末尾页</a></li> </ul> </div> </div> </div> </div>
2014年5月21日 22:03
2个答案 按时间排序 按投票排序
-
采纳的答案
lihao312 说的我有点不认同 不需要去跳新页面
1:分页控件需要向后台发送请求,发送的参数包括当前页,每页显示数量,查询条件;并且获取数据加载到当前页面;
2:进行修改删除操作的时候能记住当前页;
3:查询后翻页的时候可以可以记住当前查询的条件
先在页面中划出一块 第点到第几页就通过ajax局部刷新取出的数据扔到下面的value中
<s:iterator value="list" var="delist">
<option value="<s:property value="#delist.id" />">
<s:property value="#delist.name" />
</option>
<img src="<s:property value="#delist.picture_path" />" />
</s:iterator>
本来准备贴我的一个以前做的例子 看了下太挫啦 不丢人现眼啦 下面的你参考下
http://www.jb51.net/article/24920.htm2014年5月22日 01:06
相关推荐
这里提到的是一个由个人开发者封装的简单分页插件,它可以帮助我们轻松地在网页上实现数据的分页显示。 分页的基本原理是将大数据集分割成较小、可管理的部分,通常每一页显示一定数量的条目。这样可以提高用户体验...
许多开源的jQuery分页插件已经封装好了上述功能,如`bootstrap-pagination`、`jquery.twbsPagination`等。使用它们可以极大地节省开发时间,提高效率。 以`jquery.twbsPagination`为例,其主要使用方法包括: 1. ...
Bootstrap分页插件是一种广泛使用的工具,它通常依赖于Bootstrap框架和jQuery库来实现美观且响应式的分页效果。然而,有些情况下,开发者可能希望创建一个不依赖于这些外部库的分页插件,以减少页面加载时间或避免库...
"jQuery封装分页插件.rar"提供的就是一个用jQuery实现的分页功能插件。 这个插件可能包含以下核心知识点: 1. **jQuery基础**:了解jQuery的基本语法,如选择器(ID选择器、类选择器、属性选择器等)、DOM操作(`$...
总的来说,这个jQuery分页器插件结合了HTML5、CSS3和JavaScript的优势,为前端开发提供了一个高效的工具,可以轻松地在网页中实现专业且美观的分页效果。无论是小型项目还是大型应用程序,它都能显著提高数据展示的...
JQuery分页插件是前端开发中常用的工具,它能够为网页数据展示提供高效、便捷的分页功能,尤其在处理大量数据时显得尤为重要。在Web应用中,尤其是在内容管理系统、电子商务网站或论坛等需要展示大量信息的场景下,...
**jQuery分页插件详解** 在网页开发中,分页是一种常见的数据展示方式,尤其当数据量过大时,为了提高用户体验,将大量信息分成多个页面显示变得至关重要。jQuery作为一个轻量级、高性能的JavaScript库,提供了丰富...
jQuery分页插件就是这类插件的一个例子,它的目标是帮助开发者轻松地实现网页内容的分页显示,使大量数据能够以更易读的方式呈现给用户。 EasyHelper分页插件是jQuery的一个具体实例,它可能包含以下核心功能: 1....
在压缩包的"3063"这个文件中,很可能是具体的jQuery分页插件代码实现。这个文件可能包含三个主要部分:初始化函数、分页逻辑和样式定义。初始化函数负责设置分页参数,如总页数、每页条目数等;分页逻辑处理用户的...
本教程将探讨如何使用HTML、jQuery和CSS实现一个简单的分页插件。我们将关注以下几个关键知识点: 1. **HTML基础**:HTML是超文本标记语言,用于构建网页结构。在分页场景中,HTML元素如`<div>`、`<ul>`、`<li>`和`...
6. **插件化开发**:为了提高代码复用性,我们可以把上述功能封装成一个jQuery插件。一个基本的jQuery插件结构如下: ```javascript (function($) { $.fn.myTablePlugin = function(options) { // 插件代码... ...
在这个“jQuery圆角边框网页分页插件”中,我们可以期待找到一个已经封装好的分页解决方案,包括页面切换、动态加载等内容。 描述中提到的“非常实用的特效代码”可能是指jQuery的动画效果,jQuery提供了许多内置的...
通过理解以上知识点,你可以根据具体需求实现或定制jQuery分页插件,为你的网页应用带来高效、流畅的数据浏览体验。在实际应用中,还需要考虑性能优化,比如使用局部刷新而不是每次都重新加载整个页面,以及在移动...
**基于jQuery的分页插件**是Web应用中常见的功能,用于处理大量数据时的页面导航,提升用户体验。本文将深入探讨如何利用jQuery手写一个分页组件,以及实现页面显示的页码数量固定,确保当前页始终在中间显示。 在...
jQuery分页通常通过AJAX技术实现,允许用户在不刷新整个页面的情况下加载新内容。具体步骤如下: 1. **前端实现**:在HTML页面中,使用jQuery事件监听用户的分页操作,例如点击“下一页”按钮。当触发该事件时,向...
通过以上步骤,我们可以构建一个强大的、自定义化的jQuery分页插件,模仿百度搜索的分页体验。在实际项目中,可以结合`pagination`目录下的源代码进行学习和实践,理解每个部分的作用,并根据需要进行调整和优化。
这个压缩包文件“jquery 树、分页等各类插件”显然是一个包含多种jQuery插件的资源集合,这些插件主要用于增强网页的用户界面和交互功能。 首先,我们来看看核心文件`jquery.js`,它是jQuery库的基础,提供了大量的...
以下是一个简单的jQuery分页实现步骤: 1. **创建分页UI**:在HTML中定义分页的结构,可以使用Bootstrap或其他CSS框架的样式,或者自定义CSS样式。 ```html <ul id="pagination"></ul> ``` 2. **初始化分页**:在...
实现Jquery分页,可以自定义脚本,或者使用现有的Jquery分页插件,如jQuery Pagination Plugin。这些插件通常已经封装好了大部分功能,只需简单的配置就能快速应用到项目中。例如,`jquery-pager`这个文件可能是某个...
jQuery红色样式分页插件是一种常见的前端开发工具,主要用于网页内容的分页显示,提高用户体验。这个插件采用红色主题,使得页面更加醒目且具有视觉吸引力。在网页设计中,当内容较多时,分页是一种有效的组织和展示...