JS学习笔记-表单的全选

表单的全选

1.页面的布局和样式

以下是一个导演信息表

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表格全选</title>
		<style type="text/css">
			table{
				border: 1px solid;
				width: 500px;
			}
			
			td,th{
				text-align: center;
				border: 1px solid;
			}
			
			div{
				margin-top: 10px;
			}
			.out{
				
			}
			.over{
				background-color: palegreen;
			}
		</style>
		<script src="js/selected.js"></script>
	</head>
	<body>
		<table border="" cellspacing="" cellpadding="" align="center">
			<caption>导演信息表</caption>
			<tr name="tr">
				<th><input type="checkbox" name="cb" id="first"></th>
				<th>编号</th>
				<th>姓名</th>
				<th>性别</th>
				<th>操作</th>
			</tr>
			
			<tr name="tr">
				<td><input type="checkbox" name="cb"></td>
				<td>1</td>
				<td>李安</td>
				<td>男</td>
				<td><a href="javascript:void(0)">删除</a></td>		
			</tr>
			
			<tr name="tr">
				<td><input type="checkbox" name="cb"></td>
				<td>2</td>
				<td>张艺谋</td>
				<td>男</td>
				<td><a href="javascript:void(0)">删除</a></td>		
			</tr>
			
			<tr name="tr">
				<td><input type="checkbox" name="cb"></td>
				<td>3</td>
				<td>王家卫</td>
				<td>男</td>
				<td><a href="javascript:void(0)">删除</a></td>		
			</tr>
		</table>
		<div align="center">
			<input type="button" id="selectAll" value="全选">
			<input type="button" id="unselectAll" value="全不选">
			<input type="button" id="selectAllRev" value="反选">
		</div>
	</body>
</html>

2.js文件

			//在页面加载完后绑定事件
			window.onload = function(){
				//给全选事件绑定单击事件
				document.getElementById("selectAll").onclick = function(){
					//全选
					//获取所有checkbox
					var cbs = document.getElementsByName("cb");
					//遍历
					for(var i=0;i<cbs.length;i++){
						//设置每一个cb的状态为选中
						cbs[i].checked = true;
					}
				};
				document.getElementById("unselectAll").onclick = function(){
					//全不选
					//获取所有checkbox
					var cbs = document.getElementsByName("cb");
					//遍历
					for(var i=0;i<cbs.length;i++){
						//设置每一个cb的状态为未选中
						cbs[i].checked = false;
					}
				};
				document.getElementById("selectAllRev").onclick = function(){
					//反选
					//获取所有checkbox
					var cbs = document.getElementsByName("cb");
					//遍历
					for(var i=0;i<cbs.length;i++){
						//设置每一个cb的状态为与当前相反
						cbs[i].checked = !cbs[i].checked;
					}
				};
				document.getElementById("first").onclick = function(){
					//选第一个其他也跟着选
					//获取所有checkbox
					var cbs = document.getElementsByName("cb");
					//遍历
					for(var i=1;i<cbs.length;i++){
						//设置后面的状态为与第一个相同
						cbs[i].checked = this.checked;
					}
				};
				//给所有tr绑定鼠标移动到元素上和移出元素事件
				var trs = document.getElementsByName("tr");
				//遍历
				for(var i=0;i<trs.length;i++){
					//移到元素之上
					trs[i].onmouseover = function(){
						this.className = "over";
				}
				//移出元素
				trs[i].onmouseout = function(){
					this.className = "out";
				}
			};
}

3.效果
点击按钮会实现按钮所表达的功能,鼠标在哪一行,哪一行会有绿色的背景,点击第一个选择框,其他也会和第一个一起改变,并且是一样的变化。
例子

发布了45 篇原创文章 · 获赞 52 · 访问量 2806

猜你喜欢

转载自blog.csdn.net/weixin_43520670/article/details/103547848
今日推荐