`
u011936142
  • 浏览: 43086 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JQuery实现页面的表格数据的增加与分页

 
阅读更多
var countPage;
var nowPag = 1;
var pageSize;
var countSize;

var starIndex;
var endIndex;

// 用户提交信息
var name;
var sex;
var age;

// 定义行号
var num = 1;

$(document).ready(function() {
	// 注册添加用户的事件
	$("#submit").click(function() {
		// 获取用户提交的信息
		name = $("#name").val();
		sex = $("input[name='sex']:checked").val();
		age = $("#age").val();
		pageSize = $("#selectSize option:selected").val();
		// alert(name+sex+age+pageSize);

		// 创建表格下的tr对象
		$tr = $("<tr class='data' ></tr>");
		$td1 = $("<td></td>");
		$td2 = $("<td></td>");
		$td3 = $("<td></td>");
		$td4 = $("<td></td>");
		$td5 = $("<td></td>");

		$tr.append($td1.append("<input type='checkbox'>"));
		$tr.append($td2.append(name));
		$tr.append($td3.append(sex));
		$tr.append($td4.append(age));
		$tr.append($td5.append("<input type='button' value='删除'>"));

		$("#show").append($tr);
		pageNation();

	});
	// 注册选择显示条数的操作
	$("#selectSize").change(function() {
		pageSize = $("#selectSize option:selected").val();
		pageNation();
	});

	// 注册分页操作的按钮点击事件
	$("#first").click(pageNation);
	$("#back").click(pageNation);
	$("#next").click(pageNation);
	$("#last").click(pageNation);

});

// 分页操作的函数
var pageNation = function() {
	// 获取所有的数据条数
	countSize = $("#show tr").size();
	// 获取总页数
	countPage = Math.ceil(countSize / pageSize);

	// 处理翻页的操作
	if (this.nodeType == 1) {
		var idValue = $(this).attr("id");
		if ("first" == idValue) {
			// alert(idValue);
			nowPag = 1;
		} else if ("back" == idValue) {
			// alert(nowPag);
			if (nowPag > 1) {
				nowPag--;
			}

		} else if ("next" == idValue) {
			// alert(idValue);
			if (nowPag < countPage) {
				nowPag++;
			}
		} else if ("last" == idValue) {
			// alert(idValue);
			nowPag = countPage;
		}

	}
	// alert(pageSize);
	// 获取显示开始和结束的下标
	starIndex = (nowPag - 1) * pageSize + 1;
	endIndex = nowPag * pageSize;

	if (endIndex > countSize) {
		// alert("下标大于总记录数"+endIndex);
		endIndex = countSize;
	}

	if (countSize < pageSize) {
		// alert("总记录数小小于每页的显示条数"+endIndex);
		endIndex = countSize;
	}

	// alert(starIndex);

	if (starIndex == endIndex) {
		// 显示的操作
		$("#show tr:eq(" + (starIndex - 1) + ")").show();
		$("#show tr:lt(" + (starIndex - 1) + ")").hide();
	} else {
		// 显示的操作
		$("#show tr:gt(" + (starIndex - 1) + ")").show();
		$("#show tr:lt(" + (endIndex - 1) + ")").show();

		// 隐藏的操作
		$("#show tr:lt(" + (starIndex - 1) + ")").hide();
		$("#show tr:gt(" + (endIndex - 1) + ")").hide();
	}
	// 改变底部显示操作
	$("#sizeInfo")
			.html(
					"当前从" + starIndex + "条到第" + endIndex + "条记录,共" + countSize
							+ "条记录.");
	$("#pageInfo").html("当前是第" + nowPag + "页,共" + countPage + "页.");
};

<!DOCTYPE html>
<html>
<head>
<title>用jquery实现</title>

<meta name="keywords" content="keyword1,keyword2,keyword3">
<meta name="description" content="this is my page">
<meta name="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../js/jquery-2.0.3.min.js"></script>
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<style type="text/css">
div {
	border: 1px black solid;
}

#tableDiv {
	height: 500px;
}

#insertDiv {
	width: 300px;
	margin-right: 550px;
}

#tableDiv {
	width: 500px;
	margin-left: 350px;
}

#top {
	width: 500px;
	height: 400px;
}

#topTable,#contentTable,#bottomTable {
	width: 450px;
}
</style>


<script type="text/javascript" src="../js/jqueryTablePageNation.js"></script>
</head>

<body>
	<div id="content" align="center">
		<form action="">

			<div id="insertDiv" style="width: 263px; ">
				<table id="insertData" border="1px">
					<tr>
						<td>姓名<input type="text" id="name" value="donghogyu"></td>
					</tr>
					<tr>
						<td>性别<input type="radio" name="sex" value="男"
							checked="checked">男<input type="radio" name="sex"
							value="女">女
						</td>

					</tr>
					<tr>
						<td>年龄<input type="text" id="age" value="21"></td>
					</tr>
					<tr>
						<td align="center"><input type="button" id="submit"
							value="添加数据"></td>
					</tr>
				</table>
			</div>

			<div id="tableDiv">
				<div id="top">
					<table id="topTable" border="1px">
						<thead>

							<th><input type="checkbox">全选</th>
							<th>姓名</th>
							<th>性别</th>
							<th>密码</th>
							<th>操作</th>

						</thead>
						<tbody id="show">
							
						</tbody>
					</table>
				</div>

				<div id="bottom">
					<table id="bottomTable" border="1px">
						<tr align="center">
							<td><input type="button" value="首页" id="first"></td>
							<td><input type="button" value="上一页" id="back"></td>
							<td><input type="button" value="下一页" id="next"></td>
							<td><input type="button" value="末页" id="last"></td>
							<td><select id="selectSize">
									<option value="3">3</option>
									<option value="5">5</option>
									<option value="10">10</option>
							</select>条</td>
						</tr>
						<tr align="center">
							<td colspan="6"><span id="sizeInfo">当前从0条到第0条记录.</span></td>
						</tr>
						<tr align="center">
							<td colspan="6"><span id="pageInfo">当前是第0页,共0页.</span></td>
						</tr>
					</table>

				</div>
			</div>


		</form>
	</div>
</body>
</html>

分享到:
评论

相关推荐

    JQuery页面的表格数据的增加与分页的实现

    使用JQuery实现页面的表格数据的增加与分页,具体示例如下,喜欢的朋友可以参考下

    html前端动态获取后端数据显示到表格,实现分页显示

    html前端获取后端js的数据,实现到html表格,并且实现表格分页显示,分页显示原理是要显示那一页数据就从后端获取需要显示页的数据,不会一次性获取全部数据,减小流前端的压力。后端使用js+express,读取csv文件...

    jQuery把页面上的表格导出Excel表格

    通过jQuery技术,把页面上的表格导出Excel,导出时解决纯数据导出后显示科学计数法和日期型导出后为#号显示问题

    简单的jquery前台分页插件paginathing.js

    Paginathing.js是一款简单的jquery前台分页插件。该jquery分页插件可以对页面中的列表和表格数据进行分页。它使用简单,兼容ie8,兼容Bootstrap框架。

    Asp.Net无刷新分页( jquery.pagination.js)

    采用Jquery无刷新分页插件jquery.pagination.js 实现无刷新分页效果 页面内容: &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; ...

    EasyUI ComboGrid 集成分页、按键示例

    asyUI ComboGrid 集成分页、按键示例源码 源码描述: ...6、下拉框的文本框的内容变化时,表格数据按分页设置显示 所用技术:jquery+在html页面中通过js文件调用ashx一般处理程序 运行环境:vs2010+无数据库

    基于jquery实现的表格分页实现代码

    该方法的运用是从后台数据库中一次性取出所有的数据,运用Jquery把一部分数据隐藏起来,事实上数据还是全部在html页面中

    jquer实例大全【清晰版】

    jQuery表格导出数据 jQuery表格导入Excel文件 jQuery表格拖动排序插件TableDnD jQuery常用网站商品分类筛选功能 jquery-弹出表单录入商品信息 jQuery弹出层插件popupWindow.js jQuery调色板变换背景 jQuery调用百度...

    jquery.pagination.js 无刷新分页实现步骤分享

    1.使用插件为 jquery.pagination.js ,如果没有这个js文件的话,我可以给发个。 首先引用 jquery.pagination.js (分页js),跟pagination.css... //Load事件,初始化表格数据,页面索引为0(第一页) //分页,Pag

    Bootstrap-表格模板(动态满屏)【筛选+分页+排序】

    用Bootstrap的css样式以及JS、jQuery制作的动态更新表格模板,具有筛选、分页、排序等功能,全屏页面。表格制作精美,数据显示清晰合理,可直接应用于前端的开发。

    jQuery EasyUI 1.3 API 中文教程

    带分页的树形数据表格 -TreeGrid 属性表格 - PropertyGrid 窗口应用 窗口 - Window 对话框 - Dialog 消息窗口 - Messager 表单相关 表单 - Form Demo 日历 - Calendar 下拉选择框 - Custom Combo ...

    jQuery表格插件datatables用法详解

    一、Datatables简介 DataTables是一个jQuery的...在做后台的时候并没有美工和前端工程师来配合你做页面,为了显示数据并有一定的美感,我们可以使用jQuery的DataTables插件来帮助我们完成任务 1、DataTables的默认配置

    Ajax写分页查询(实现不刷新页面)

    获取数据库中大量的信息显示在页面上,必然要使用到分页查询; 若不使用Ajax,而是用其他的方法,肯定是要刷新页面的,用户体检很不好, 所以最好使用Ajax的方法写分页查询; 1.先来找一张数据很多的表吧! 一张...

    健身俱乐部Web网站-JSP+Servlet+Hibernate+jQuery+Ajax

    这是我做的第一个Web网站,前台页面主要利用JSP、jQuery(数据验证),部分页面用到Ajax。控制转发层采用Servlet,数据访问层采用Hibernate(bean和dao是由Hibernate逆向工程自动生成)。 系统采用分层架构,由上...

    基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用

    框架总览及菜单模块的处理,介绍了Bootstrap开发框架的一些基础性概括,包括总体界面效果,以及布局、菜单等内容,本篇继续这一主题,介绍页面内容常用到的数据分页处理,以及Bootstrap插件JSTree的使用。...

    Bootstrap-表格模板(动态非满屏)【筛选+分页+排序】

    用Bootstrap的css样式以及JS、jQuery制作的动态更新表格模板,具有筛选、分页、排序等功能,非全屏页面。表格制作精美,数据显示清晰合理,可直接应用于前端的开发。

    jQuery网格插件ParamQuery.zip

    ParamQuery是一种轻量级的jQuery网格插件,基于用于用户界面控制、具有一致API的优秀设计模式jQueryUI Widget factory创建,能够在网页上展示各种类似于Excel和Google Spreadsheet效果的网格。 使用ParamQuery,...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    基于DjangoORM的外键实现增加用户(含select标签) 作业 第20周 课程安排 上课内容回顾 Django一对多的创建 创建一对多表结构 获取单表单数据的三种方式 一对多跨表操作 一对多块表操作的的三种方式 增加一对多...

    layui资源插件layui.js、bootstrap.js、jquery.js

    描述:该框架有个极大的好处就是定义了很多前后端交互的样式接口,如分页表格,只需在前端配置好接口,后端则按照定义好的接口规则返回数据,即可完成页面的展示,极大减少了后端人员的开发成本。layui属于轻量级...

Global site tag (gtag.js) - Google Analytics