jQuery实现列表的动态增加、删除和全选操作

隔行换色

CSS代码

.odd {
				background-color: rosybrown;
			}

jQuery代码

//隔行换色
				$("tr:odd").addClass("odd");

全选/取消全选

//设置多选框全选和取消全选事件
				$("tr th:first").append("<span id='showStr'></span>");
				$("th input:checkbox").click(function() {
					if($(this).prop("checked")) {
						$("td input:checkbox").prop("checked", true);
						$("#showStr").replaceWith("<span id='showStr'>已经全选</span>");
					} else {
						$("td input:checkbox").prop("checked", false);
						$("#showStr").replaceWith("<span id='showStr'>已经取消</span>");
					}
				});

删除

//删除操作
				$("tr td a:nth-child(1)").click(function() {
					if(confirm("是否删除?")) {
						//删除前去除颜色
						$("tr:odd").removeClass("odd");
						$(this).parents("tr").remove();
						//隔行换色
						$("tr:odd").addClass("odd");
					}
				});

新增

CSS代码

//默认隐藏新增界面
#hide {
				display: none;
				background-color: lightcyan;
				width: 614px;
				margin: 0 auto;
			}

HTML代码

<form id="hide">
			<div>
				分类的ID<input type="text" class="id" /><br />
				分类的名称<input type="text" class="name" /><br />
				分类的描述<input type="text" class="describe" /><br />
				<input type="button" value="提交" id="submit" />
				<input type="button" value="取消" id="cancel" /><br />
			</div>
		</form>

jQuery代码

//点击新增时显示新增列表
				$("#fun").click(function() {
					$("#hide").slideDown(700);
				});
				//新增操作
				$("#submit").click(function() {
					var id = $(".id").val();
					var name = $(".name").val();
					var describe = $(".describe").val();
					if(id == "" || name == "" || describe == "") {
						alert("请输入所有值");
						return;
					}
					//复制前去除颜色
					$("tr:odd").removeClass("odd");
					//复制table里的一个tr
					var copyDom = $("table tr:eq(2)").clone(true);
					//把复制的tr放到table最后面
					$("table").append(copyDom);
					//获取刚才复制的tr
					var trDom = $("tr:last td");
					trDom.eq(1).text(id);
					trDom.eq(2).text(name);
					trDom.eq(3).text(describe);
					//新增后添加隔行换色
					$("tr:odd").addClass("odd");
				});
				//点击取消时隐藏新增列表
				$("#cancel").click(function() {
					$("#hide").slideUp(700);
				});

完整代码

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-3.3.1.js"></script>
		<style>
			.odd {
				background-color: rosybrown;
			}
			
			a {
				text-decoration: none;
			}
			
			th,
			td {
				width: 120px;
				height: 35px;
				text-align: center;
			}
			
			table {
				margin: 0 auto;
			}
			
			div {
				text-align: center;
			}
			
			#hide {
				display: none;
				background-color: lightcyan;
				width: 614px;
				margin: 0 auto;
			}
		</style>
		<script>
			$(function() {
				//隔行换色
				$("tr:odd").addClass("odd");

				//设置多选框全选和取消全选事件
				$("tr th:first").append("<span id='showStr'></span>");
				$("th input:checkbox").click(function() {
					if($(this).prop("checked")) {
						$("td input:checkbox").prop("checked", true);
						$("#showStr").replaceWith("<span id='showStr'>已经全选</span>");
					} else {
						$("td input:checkbox").prop("checked", false);
						$("#showStr").replaceWith("<span id='showStr'>已经取消</span>");
					}
				});

				//删除操作
				$("tr td a:nth-child(1)").click(function() {
					if(confirm("是否删除?")) {
						//删除前去除颜色
						$("tr:odd").removeClass("odd");
						$(this).parents("tr").remove();
						//隔行换色
						$("tr:odd").addClass("odd");
					}
				});
				//点击新增时显示新增列表
				$("#fun").click(function() {
					$("#hide").slideDown(700);
				});
				//新增操作
				$("#submit").click(function() {
					var id = $(".id").val();
					var name = $(".name").val();
					var describe = $(".describe").val();
					if(id == "" || name == "" || describe == "") {
						alert("请输入所有值");
						return;
					}
					//复制前去除颜色
					$("tr:odd").removeClass("odd");
					//复制table里的一个tr
					var copyDom = $("table tr:eq(2)").clone(true);
					//把复制的tr放到table最后面
					$("table").append(copyDom);
					//获取刚才复制的tr
					var trDom = $("tr:last td");
					trDom.eq(1).text(id);
					trDom.eq(2).text(name);
					trDom.eq(3).text(describe);
					//新增后添加隔行换色
					$("tr:odd").addClass("odd");
				});
				//点击取消时隐藏新增列表
				$("#cancel").click(function() {
					$("#hide").slideUp(700);
				});
			});
		</script>
	</head>

	<body>
		<div><input type="button" value="新增" id="fun" /></div>
		<form>
			<table border="1" cellpadding="0" cellspacing="0">
				<tr>
					<th><input type="checkbox" /></th>
					<th>分类的ID</th>
					<th>分类的名称</th>
					<th>分类的描述</th>
					<th>操作</th>
				</tr>
				<tr id="retain">
					<td><input type="checkbox" /></td>
					<td>1</td>
					<td>第一行</td>
					<td>第一行</td>
					<td>
						<a href="#">删除</a>&nbsp;
						<a href="#">修改</a>
					</td>
				</tr>
				<tr>
					<td><input type="checkbox" /></td>
					<td>2</td>
					<td>第二行</td>
					<td>第二行</td>
					<td>
						<a href="#">删除</a>&nbsp;
						<a href="#">修改</a>
					</td>
				</tr>
				<tr>
					<td><input type="checkbox" /></td>
					<td>3</td>
					<td>第三行</td>
					<td>第三行</td>
					<td>
						<a href="#">删除</a>&nbsp;
						<a href="#">修改</a>
					</td>
				</tr>
				<tr>
					<td><input type="checkbox" /></td>
					<td>4</td>
					<td>第四行</td>
					<td>第四行</td>
					<td>
						<a href="#">删除</a>&nbsp;
						<a href="#">修改</a>
					</td>
				</tr>
				<tr>
					<td><input type="checkbox" /></td>
					<td>5</td>
					<td>第五行</td>
					<td>第五行</td>
					<td>
						<a href="#">删除</a>&nbsp;
						<a href="#">修改</a>
					</td>
				</tr>
			</table>
		</form>
		<form id="hide">
			<div>
				分类的ID:<input type="text" class="id" /><br />
				分类的名称:<input type="text" class="name" /><br />
				分类的描述:<input type="text" class="describe" /><br />
				<input type="button" value="提交" id="submit" />
				<input type="button" value="取消" id="cancel" /><br />
			</div>
		</form>
	</body>

</html>

页面效果

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值