zoukankan      html  css  js  c++  java
  • 使用JavaScript完成复选框的全选和全不选

    复选框的全选和全不选

    需求分析

    ​ 商品分类界面中,当我们点击全选框的时候,我们希望选中所有的商品,当我们取消掉的时候,我们希望不选中所有的商品

    技术分析

    checked="checked" 选择复选框

    事件 : onclick点击事件

    getElementsByTagName:返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
    getElementsByName:返回包含带有指定类名的所有元素的节点列表。

    步骤分析

    全选和全不选步骤分析:

    1.确定事件: onclick 单机事件
    2.事件触发函数: checkAll()
    3.函数要去做一些事情:
    获得当前第一个checkbox的状态
    获得所有分类项的checkbox
    修改每一个checkbox的状态

    代码实现

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<!--
    			1. 确定事件: 文档加载完成 onload
    			2. 事件要触发函数: init()
    			3. 函数:操作页面的元素
    					要操作表格中每一行
    					动态的修改行的背景颜色
    		-->
    		<script >
    			function init(){
    				//得到表格
    				var tab = document.getElementById("tab");
    				//得到表格中每一行
    				var rows = tab.rows;
    				//便利所有的行,然后根据奇数 偶数
    				for(var i=1; i < rows.length; i++){
    					var row = rows[i];  //得到其中的某一行
    					if(i%2==0){
    						row.bgColor = "yellow";
    					}else{
    						row.bgColor = "red"
    					}
    				}
    			}
    			
    			/*
    				全选和全不选步骤分析:
    				 1.确定事件: onclick 单机事件
    				 2.事件触发函数: checkAll()
    				 3.函数要去做一些事情:
    				 	获得当前第一个checkbox的状态
    				 	获得所有分类项的checkbox
    				 	修改每一个checkbox的状态
    			*/
    			
    			function checkAll(){
    //				获得当前第一个checkbox的状态
    				var check1 = document.getElementById("check1");
    				//得到当前checked状态
    				var checked = check1.checked;
    //				 	获得所有分类项的checkbox
    //				var checks = document.getElementsByTagName("input");
    				var checks = document.getElementsByName("checkone");
    //				alert(checks.length);
    				for(var i = 0; i < checks.length; i++){
    //				 	修改每一个checkbox的状态
    					var checkone = checks[i];
    					checkone.checked = checked;
    				}
    			}
    		</script>
    	</head>
    	<body onload="init()">
    		<table border="1px" width="600px" id="tab">
    			<tr >
    				<td>
    					<input type="checkbox" onclick="checkAll()" id="check1" />
    				</td>
    				<td>分类ID</td>
    				<td>分类名称</td>
    				<td>分类商品</td>
    				<td>分类描述</td>
    				<td>操作</td>
    			</tr>
    			<tr>
    				<td>
    					<input type="checkbox" name="checkone" />
    				</td>
    				<td>1</td>
    				<td>手机数码</td>
    				<td>华为,小米,尼康</td>
    				<td>黑马数码产品质量最好</td>
    				<td>
    					<a href="#">修改</a>|<a href="#">删除</a>
    				</td>
    			</tr>
    			<tr>
    				<td>
    					<input type="checkbox" name="checkone"/>
    				</td>
    				<td>2</td>
    				<td>成人用品</td>
    				<td>充气的</td>
    				<td>这里面的充气电动硅胶的</td>
    				<td><a href="#">修改</a>|<a href="#">删除</a></td>
    			</tr>
    			<tr>
    				<td>
    					<input type="checkbox" name="checkone"/>
    				</td>
    				<td>3</td>
    				<td>电脑办公</td>
    				<td>联想,小米</td>
    				<td>笔记本特卖</td>
    				<td><a href="#">修改</a>|<a href="#">删除</a></td>
    			</tr>
    			<tr>
    				<td>
    					<input type="checkbox" name="checkone"/>
    				</td>
    				<td>4</td>
    				<td>馋嘴零食</td>
    				<td>辣条,麻花,黄瓜</td>
    				<td>年货</td>
    				<td><a href="#">修改</a>|<a href="#">删除</a></td>
    			</tr>
    			<tr>
    				<td>
    					<input type="checkbox" name="checkone"/>
    				</td>
    				<td>5</td>
    				<td>床上用品</td>
    				<td>床单,被套,四件套</td>
    				<td>都是套子</td>
    				<td><a href="#">修改</a>|<a href="#">删除</a></td>
    			</tr>
    		</table>
    	</body>
    </html>
    
  • 相关阅读:
    Overloaded的方法是否可以改变返回值的类型
    parseXXX的用法
    java的类型转换问题。int a = 123456;short b = (short)a;System.out.println(b);为什么结果是-7616?
    UVA 10405 Longest Common Subsequence(简单DP)
    POJ 1001 Exponentiation(大数处理)
    POJ 2318 TOYS(计算几何)(二分)
    POJ 1265 Area (计算几何)(Pick定理)
    POJ 3371 Flesch Reading Ease (模拟题)
    POJ 3687 Labeling Balls(拓扑序列)
    POJ 1094 Sorting It All Out(拓扑序列)
  • 原文地址:https://www.cnblogs.com/zllk/p/12833982.html
Copyright © 2011-2022 走看看