jquery 表格的增加删除和修改及设置奇偶行颜色

最近一周在学了一点点HTML, CSS, javascript,用javascript的jquery完成了一个简单的表格操作,有增加、删除和修改功能。

表格分三列,第一列是学生编号(ID号),第二列是学生姓名,第三列为学生年龄。在姓名和年龄框内输入数据,再点“Add”就可以增加数据(ID号会自动递增的生成),输入ID号再输入新的姓名和年龄点“Edit”就可以修改,删除的话输入ID号就点“Delete”就可以删除指定行。

表格最上面会及时更新当前表中行数,在输入ID时也会动态响应并更新姓名年龄输入框的内容。使程序达到了基本的可操作性。表格的表头用CSS作了颜色控制,表格中的内容也用CSS按奇偶行设置了不同的颜色。从而使界面变的更加美观。

下面是截图:

完整的代码如下(Win7+IE9测试通过):

//by MoreWindows (http://blog.csdn.net/MoreWindows)
<html>
<head>
<script src="jquery-1.7.min.js"></script>
<script>
$(document).ready(function()
{
	SetTableRowColor();
	UpdataTableRowCount();

	if ($.browser.msie) //判断是不是MS的ie浏览器
	{
		$("#id").bind("propertychange", function(){IDInputChange();});
	}
	else
	{
		document.getElementById("#id").addEventListener("input", IDInputChange, false);
	}
});
</script>
<script>
//根据ID输入框的值取表格中对应内容并填充到姓名年龄的输入框中
function IDInputChange()
{
	//根据id查找到指定行
	var i=SearchIdInTable($("#Table tr"), $("#id").val());
	if (i != -1)
	{
		//得到该行的数据
		var name = $("#Table tr:eq(" + i + ") td:eq(1)").html();
		var age = $("#Table tr:eq(" + i + ") td:eq(2)").html();	

		//将数据更新到对应的文本框中
		$("#Name").val(name);
		$("#Age").val(age);
	}
	else
	{
		$("#Name").val("");
		$("#Age").val("");
	}
}
//在表格的第一列中查找等于指定ID的行
function SearchIdInTable(tablerow, findid)
{
    var i;
    var tablerownum=tablerow.length;
	for (i=1; i<tablerownum; i++)
		if ($("#Table tr:eq(" + i + ") td:eq(0)").html() == findid)
			return i;
	return -1;
}
//用CSS控制奇偶行的颜色
function SetTableRowColor()
{

	$("#Table tr:odd").css("background-color", "#e6e6fa");
    $("#Table tr:even").css("background-color", "#fff0fa");
}
//更新表格当前显示的行数
function UpdataTableRowCount()
{
	$("#tableRowCount").html($("#Table tr").length - 1);
}
function IncTableRowCount()
{
	var tc = $("#tableRowCount");
	tc.html(parseInt(tc.html()) + 1);
}
function DecTableRowCount()
{
	var tc = $("#tableRowCount");
	tc.html(parseInt(tc.html()) - 1);
}
</script>
<script>
$(document).ready(function()
{
  //增加
  $("#AddBtn").click(function()
  {
    var id=parseInt($("#Table tr:last td:first").html()) + 1;

	var name = $("#Name").val() != "" ? $("#Name").val() : " ";
    var age  = $("#Age").val() != "" ? $("#Age").val() : " ";

	//新增加一行
	var appendstr = "<tr>";
	appendstr += "<td>" + id + "</td>";
	appendstr += "<td>" + name + "</td>";
	appendstr += "<td>" + age + "</td>";
	appendstr += "</tr>";
	$("#Table").append(appendstr);

	IncTableRowCount();
	SetTableRowColor();
  });
  //编辑
  $("#EditBtn").click(function()
  {
    //根据id查找到指定行
	var i=SearchIdInTable($("#Table tr"), $("#id").val());
	if (i != -1)
	{
		//得到新内容
		var name = $("#Name").val() != "" ? $("#Name").val() : " ";
		var age  = $("#Age").val() != "" ? $("#Age").val() : " ";

		//修改该行的二列数据
		$("#Table tr:eq(" + i + ") td:eq(1)").html(name);
		$("#Table tr:eq(" + i + ") td:eq(2)").html(age); //parseInt(age)也可以
	}
  });
  //删除
  $("#DeleteBtn").click(function()
  {
    //根据id查找到指定行
	var i=SearchIdInTable($("#Table tr"), $("#id").val());
	if (i != -1)
	{
		//删除表格中该行
		$("#Table tr:eq(" + i + ")").slideUp("slow");
		$("#Table tr:eq(" + i + ")").remove();

		DecTableRowCount();
		SetTableRowColor();
	}
  });
});
</script>
</head>
<body>
<p>简单的表格操作,有增加、删除和修改功能。id输入框能动态响应输入</p>
id:<input type="text" id="id" />
Name:<input type="text" id="Name" />
Age:<input type="text" id="Age" />
<input type="button" id="AddBtn" value="Add" />
<input type="button" id="EditBtn" value="Edit" />
<input type="button" id="DeleteBtn" value="Delete" />
<table id="Table" align="center" border="2" cellpadding="10" cellspacing="1" bordercolor="#FFAA00">
<caption style="font-size:15px">学生表<label id="tableRowCount"></label></caption>
<th>id</th><th>Name</th><th>Age</th>
<tr> <td>1</td> <td>MoreWindows</td>  <td>24</td> </tr>
<tr> <td>2</td> <td>MW</td> <td>19</td> </tr>
</table>
</body>
</html>
<!-- css控制表头的背景颜色 css 双重标签 派生选择器-->
<style>
#Table th
{
  background-color:#7cfc00;
}

代码中的jquery-1.7.min.js可以到jquery的官网上下载。

写的很菜^_^,高手轻拍。

转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/7052188

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://www.cnblogs.com/captainbed

原文地址:https://www.cnblogs.com/heishanglaoyao/p/10240969.html

时间: 2024-10-04 06:16:36

jquery 表格的增加删除和修改及设置奇偶行颜色的相关文章

jQuery表格自动增加

<!DOCTYPE html> <html dir="ltr" lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width" /> <title>jQuery 表格自动增加</title> &l

MySql 用户管理 中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 如果报错解决方法:https://i.c

iptables中增加/删除/查询/修改的基本操作

虽然在Ubuntu使用了UFW来简化iptables的操作,但是UFW只针对防火墙方面,转发方面没有涉及,所以要弄懂其中的原理,还是必须回归到iptables中.CentOS也是如此.下面是针对iptables的基本操作,无论CentOS还是Ubuntu都是一致的. 前提:先熟悉iptables的基本命令参数:http://www.cnblogs.com/EasonJim/p/6847874.html 说明:经过测试,一些OUTPUT的规则使用下面命令是查看不到的,但是可以通过sudo ipta

jQuery 表格中实现&ldquo;删除线&rdquo;的增进方法

之前做了一个删除线的效果,就是类似这样的,在内容的中间加一条线. 但是又有点不同的是,这种删除线不是单纯的在文字之上,而是给一个Table中的一行加上这种删除线效果. 这里有两个方法,是在不同时期写的,第一个有些缺陷,第二个在第一个基础上要好很多,目前没有发现什么缺陷吧. 直接上代码吧 页面内容: <body> <table style="border:1px solid black;padding-left:5px;padding-right:5px;" cellp

jquery easyui-datagrid手动增加删除重置行

1.实现的效果图如下 2.界面: <div region="center">         <table id="tt">         </table>     </div> 3.引入的js文件 <link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/script/themes/

当鼠标经过表格数据行时颜色不同且奇偶行颜色也不同 (纯CSS)

<!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. --> <html> <head> <meta http-equiv=&qu

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 这样就创建了一个名为:test 密码为:

devexpress表格控件gridcontrol设置隔行变色、焦点行颜色、设置(改变)显示值、固定列不移动(附源码)

介绍一些常用的gridcontrol设置. 1.设置隔行变色.首先设置显示隔行变色,步骤:OptionsView-->EnableAppearanceEvenRow-->true和OptionsView-->EnableAppearanceOddRow-->true;然后设置奇数行和偶数行样式颜色等:Appearance-->EvenRow和Appearance-->OddRow.设计完成后,设计器出现隔行变色效果,如图: 2.设置奇偶行样式时,会看到其他行样式.App

修改linux终端命令行各字体颜色

最近在学习linux操作系统(CentOS 6 & CentOS 7).觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发现通过定义PS1环境变量即可实现,下面我以root用户身份进行操作. 1.了解PS1 PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数. 在终端输入命令: # set | grep PS1 可得到当前PS1的定义值: PS1='[\[email protected]\h \W]\$ '