原生JavaScript----CheckBox全选、反选等功能实现

最近突发奇想,回过头来看看原生js,看到这里,拉出来回忆回忆~~~~
在这里插入图片描述

HTML部分

<form action="">
		您爱好的运动是?<input type="checkbox"  id = "checkboxs"/>全选/全不选 <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 id="checkAllbox" type="button" value="全选"/>
		<input id="checkNotbox" type="button" value="全不选"/>
		<input id="checkRevbox" type="button" value="反选"/>
		<input id="checkSumbit" type="button" value="提交"/>		
	</form>

js部分

		<script>
			window.onload = function() {
				let checkAll = document.getElementById('checkAllbox');
				let box = document.getElementsByName('items');
				let checkNot = document.getElementById('checkNotbox');
				let checkRev = document.getElementById('checkRevbox');
				let checkSumbit = document.getElementById('checkSumbit');
				// 全选
				checkAll.onclick = function() {
					box.forEach((item) => {
						item.checked = true;
					})
					checkboxs.checked = true;
				}
				// 全不选
				checkNot.onclick = function() {
					box.forEach((item) => {
						item.checked = false;
					})
					checkboxs.checked = false;
				}
				// 反选
				checkRev.onclick = function() {
					box.forEach((item) => {
						item.checked = !item.checked;
						checkboxs.checked = true;
		    			box.forEach((v) => {
		    				if (!v.checked) {
								checkboxs.checked = false;
							}
		    			})
					})
					
				}
				// 提交
				checkSumbit.onclick = function() {
					box.forEach((item) => {
						if (item.checked) {
						  alert(item.value)
						}
						
					})
				}
			    // 全选/全不选
			    checkboxs.onclick = function() {
			    	box.forEach((item) => {
						item.checked = this.checked;
					})
			    }
		    	// items
		    	box.forEach((item) => {
		    		item.onclick = function() {
		    			checkboxs.checked = true;
		    			box.forEach((v) => {
		    				if (!v.checked) {
								checkboxs.checked = false;
							}
		    			})
		    			
		    		}		    		

				})
			}
		</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值