JS全选按钮练习

  • 注意相互之间的逻辑关系
  • 注意作用域的问题
  • 有时候难以解决的问题可以试一下逆向思维
  • 业务的逻辑性严密性
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			window.onload = function(){
				//获取四个多选按钮
				var items = document.getElementsByName("items");
				//获取全选框
				var checkbox = document.getElementById("checkedAllBox");
				
				//全选按钮
				var checkedAllBox = document.getElementById("checkedAllBtn");
				checkedAllBox.onclick = function(){
					for(var i = 0;i<items.length;i++){
						items[i].checked = true;
					}
					checkbox.checked = true;
				};
				
				//全不选函数
				var checkedNoBtn = document.getElementById("checkedNoBtn");
				checkedNoBtn.onclick = function(){
					for(var i = 0;i<items.length;i++){
						items[i].checked = false;
					}
					checkbox.checked = false;
				};
				//反选按钮,点击以后选中的变灭选中
				var checkedRevBtn = document.getElementById("checkedRevBtn");
				checkedRevBtn.onclick = function(){
					for(var i = 0;i<items.length;i++){
						/*if(items[i].checked){
							items[i].checked = false;
						}else{
							items[i].checked = true;
						}*/
						items[i].checked = !items[i].checked;//取反
						if(!items[i].checked){
								checkbox.checked = false;
								//一旦进入判断,则不用再继续进行循环
								
						}
					}
					//在反选时也需要判断是否选中
					
				};
				//提交按钮
				var sentBtn = document.getElementById("sendBtn");
				
				sendBtn.onclick = function(){
					for(var i = 0;i<items.length;i++){
						/*alert("1");*/
						if(items[i].checked ){
							alert(items[i].value);
						}
					}
				};
				
				
				checkbox.onclick = function(){
					for(var i = 0;i<items.length;i++){
						//在事件的响应函数中,事件是给谁绑定的this就是谁
						items[i].checked = this.checked;
					}
				};
				for(var i = 0;i<items.length;i++){
					items[i].onclick = function(){
						//先默认值然后再对值进行改进
						checkbox.checked = true;
						
						for(var j = 0;j<items.length;j++){
							if(!items[j].checked){
								checkbox.checked = false;
								//一旦进入判断,则不用再继续进行循环
								
							}
						}
					};
				};
				
			};
			
		</script>
	</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="反 选" />
		<input type="button" id="sendBtn" value="提 交" />
	</form>
	</body>
</html>
发布了183 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43641432/article/details/103282020