博主信息
博文 20
粉丝 0
评论 0
访问量 29867
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
js实现表格勾选框全选功能
左手Leon的博客
原创
1449人浏览过

实例

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		*{margin: 0;padding: 0}
		/*.main{margin:100px auto;width: 800px}
		table{border: 1px solid #ccc;border-collapse: collapse;width: 100%}
		td:{width: 800px; border: 1px solid #ccc;text-align: center;}*/
		.main{width:800px;margin:50px auto;}
		table{
			width:100%;
			border: 1px solid #ccc;
			border-collapse: collapse;
		}
		td{
			width:800px;border: 1px solid #ccc;
			text-align: center;
			line-height: 40px;
		}
		th{
			width:800px;border: 1px solid #ccc;
			text-align: center;
		}
	</style>
	<!-- <script type="text/javascript" src="static/js/jquery.js">
		
	</script> -->
</head>
<body>
	<div class="main">
		<table class="select">
			<caption>文章列表</caption>
			<thead>
				
				<tr>
					<th><input type="checkbox" onclick="checkAll()">全选</th>
					<th>文章标题</th>
					<th>状态</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td><input type="checkbox" name="list"></td>
					<td>文章标题1</td>
					<td>文章状态1</td>
				</tr>
				<tr>
					<td><input type="checkbox" name="list"></td>
					<td>文章标题2</td>
					<td>文章状态2</td>
				</tr>
				<tr>
					<td><input type="checkbox" name="list"></td>
					<td>文章标题3</td>
					<td>文章状态3</td>
				</tr>
				<tr>
					<td><input type="checkbox" name="list"></td>
					<td>文章标题4</td>
					<td>文章状态4</td>
				</tr>
				<tr>
					<td><input type="checkbox" name="list"></td>
					<td>文章标题5</td>
					<td>文章状态5</td>
				</tr>
			</tbody>
		</table>
	</div>
	<script type="text/javascript">
		function bgColor(){
			var trlist=document.getElementsByTagName('tbody')[0].getElementsByTagName('tr');
			for(var k=0;k<trlist.length;k++){
				if(k%2==0){
					trlist[k].style.background='#ccc';
				}else{
					// trlist[k].style.background='red';
				}
			}
		}
		bgColor();
		
		function checkAll(){
			var objList=document.getElementsByName('list');
			console.log("objList="+objList.length);
			var count=0;
			for(var i=0;i<objList.length;i++){
				if(objList[i].checked){
					count++;
				}else{
					console.log(i+':未执行!')
					objList[i].checked=true;
				}
			}
			console.log(i);
			console.log(count);
			if(count==objList.length){
				for(var j=0;j<objList.length;j++){
					objList[j].checked=false
				}				
			}

		}

	</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

心得:

操作中出了2个BUG

1、表格实现隔行换色,但是一直只在表头中出现要的颜色,与之前课堂上做的案例不同

在控制台中发现网页代码有两个tbody

后来发现是因为表格中标题caption放的位置不对,把cation放在thead前即可

2、实现单独全选功能,一直无法实现全部选择

利用console.log发现功能当已经全选后取消全选勾选的功能未实现

检查代码发现是一个if判断中条件数值比较只写了一个=。数值对比要用到==或===

批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学