通常情况下,需要根据界面的复选框完成一个全选的功能,如何实现可以看注释。代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>jquery实现全选/全不选</title>
		<!-- 引入jquery -->
		<script src="../js/jquery-3.5.1.js"></script>
		<script>
			$(function(){
				// 当全选按钮被点击时,设置所有的checkbox为选中状态
				$("#checkedAllBtn").click(function(){
					$(":checkbox").prop("checked", true);
				});
				//当全不选按钮被点击时,设置所有的checkbox为未选中状态
				$("#checkedNoBtn").click(function(){
					$(":checkbox").prop("checked", false);
				});				
				//当反选按钮被点击时,设置所有的checkbox为原状态的相反状态
				$("#checkedRevBtn").click(function(){
					$(":checkbox[name='items']").each(function(){
						this.checked = !this.checked;
					});
				});
				// 当全选/全不选的复选框被选中时,让所有name=items的checkbox与全选/全不选的复选框状态保持一致
				$("#checkedAllBox").click(function(){
					$(":checkbox[name='items']").prop("checked",this.checked);
				});
				//给每一个运动的选项添加点击事件,当选中的数量等于总数时,checkedAllBox为true,反之为false
				$(":checkbox[name='items']").click(function(){
					var allCount = $(":checkbox[name='items']").length;
					var checkedCount = $(":checkbox[name='items']:checked").length;
					$("#checkedAllBox").prop("checked",allCount == checkedCount);
				});
			});
		</script>
	</head>
	<body>
		<div style="margin: 50px auto;display: flex;flex-direction: column;width: 300px;height: 300px;">
			<div>你爱好的运动是?<input type="checkbox" id="checkedAllBox" />全选/全不选</div>
			<div style="margin-top: 10px;">
				<input type="checkbox" name="items" value="足球"/>足球
				<input type="checkbox" name="items" value="篮球" />篮球 
				<input type="checkbox" name="items" value="羽毛球" />羽毛球 
				<input type="checkbox" name="items" value="乒乓球" />乒乓球 
			</div>
			<div style="text-align: center;margin-top: 10px;">
				<input type="button" id="checkedAllBtn" value="全 选" style="width: 30%;height: 30px;"/>
				<input type="button" id="checkedNoBtn" value="全不选" style="width: 30%;height: 30px;"/> 
				<input type="button" id="checkedRevBtn" value="反 选" style="width: 30%;height: 30px;"/>
			</div>
			
		</div>
		
	</body>
</html>

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐