zoukankan      html  css  js  c++  java
  • 原生js实现全选反选全不选

    代码如下

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    	<head>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    	<title>checkbox练习</title>
    	</head>
    	<body>
    
    		<form method="post" action="">
    			你爱好的运动是?<input type="checkbox" id="checkedAllBox" />全选/全不选
    
    			<br />
    			<input type="checkbox" name="items" value="足球" />足球
    			<input type="checkbox" name="items" value="篮球" />篮球
    			<input type="checkbox" name="items" value="羽毛球" />羽毛球
    			<input type="checkbox" name="items" value="乒乓球" />乒乓球
    			<br />
    			<input type="button" id="checkedAllBtn" value="全 选" />
    			<input type="button" id="checkedNoBtn" value="全不选" />
    			<input type="button" id="checkedRevBtn" value="反 选" />
    			
    		</form>
    
    		<script>
    		    var checkedAllBtn = document.getElementById("checkedAllBtn")
    			var items = document.getElementsByName("items")
    			var checkedAllBox = document.getElementById("checkedAllBox")
    			//全选
    			checkedAllBtn.onclick = function () {
    				for (var i = 0; i < items.length;i++){
    					items[i].checked = true
    				}
    				checkedAllBox.checked = true
    			}
    
    			//全不选
    			var checkedNoBtn = document.getElementById("checkedNoBtn")
    			checkedNoBtn.onclick = function () {
    				for (var i = 0; i < items.length;i++){
    					items[i].checked = false
    				}
    				checkedAllBox.checked = false
    			}
    
    			//反选
    			var checkedRevBtn = document.getElementById("checkedRevBtn")
    			checkedRevBtn.onclick = function () {
    				checkedAllBox.checked = true
    
    				for (var i = 0; i < items.length;i++){
    					// if(items[i].checked == true){
    					// 	items[i].checked = false
    					// }else{
    					// 	items[i].checked = true
    					// }
    
    					items[i].checked = !items[i].checked
    					if (items[i].checked == false){
    						checkedAllBox.checked = false
    					}
    
    
    				}
    			}
    
    			//全选复选框
    			checkedAllBox.onclick = function () {
    				for (var i = 0; i < items.length; i++){
    					items[i].checked = this.checked
    				}
    			}
    
    			
    			for (var i = 0; i < items.length; i++){
    				items[i].onclick = function () {
    					checkedAllBox.checked = true
    
    
    					for (var j = 0; j< items.length;j++){
    						if (items[j].checked == false){
    							checkedAllBox.checked = false
    						}
    
    						// if (items[j].checked == true){
    						// 	checkedAllBox.checked = true
    						// }else{
    						// 	checkedAllBox.checked = false
    						// }
    					}
    				}
    			}
    
    
    
    
    
    
    		</script>
    	</body>
    </html>
    

      

  • 相关阅读:
    dede自定义表单增加添加时间怎么弄
    今天微信群需要人家通过吗?是微信bug吗
    6.3.28微信需群主确认才可进群&发GIF动图功能内测开始了
    聚类分析初探
    一小时了解数据挖掘⑤数据挖掘步骤&常用的聚类、决策树和CRISP-DM概念
    Bayesian optimisation for smart hyperparameter search
    【模式识别】Learning To Rank之RankBoost
    UVA 816
    设计一个算法,输出从u到v的全部最短路径(採用邻接表存储)
    禅道——測试流程
  • 原文地址:https://www.cnblogs.com/daifuchao/p/11761065.html
Copyright © 2011-2022 走看看