利用js 实现 checkbox全选计算

效果图

https://live.csdn.net/v/350847

本次内容的目标就是利用js实现checkbox 全选计算的功能

本次设计有两种实现方法 第一种采用table布局,第二种采用div方式布局

页面设计

table布局

建立 html页面,编写如下代码:

<div>
			<h1>使用 table 来实现-- 方式1</h1>
			<table>
				
				<tr>
					<td><input type="checkbox" id="ck_all_1"/></td>
					<td>姓名</td>
					<td>薪水</td>
				</tr>
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>李四</td>
					<td class="sal">5000</td>
				</tr>
				
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>王丽</td>
					<td class="sal">6000</td>
				</tr>
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>赵四</td>
					<td class="sal">8000</td>
				</tr>
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>赵四</td>
					<td class="sal">8000</td>
				</tr>
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>赵四</td>
					<td class="sal">8000</td>
				</tr>
			</table>
			<div>
				<button >计算</button>
				<div id="sum_1">0</div>
			</div>
		</div>

此时 运行页面 效果如下:

为了编写少量的js代码, 这里我们引入了jquery的js库,

jQuery 是一个 JavaScript 库,它简化了 JavaScript 与 HTML DOM 之间的交互。它提供了很多易于使用的函数和方法,使得快速开发交互式 Web 页面变得更容易。jQuery 的主要特点包括选择器、事件处理、DOM 操纵、Ajax 支持等。它是一个轻量级的库,易于学习和使用。在 Web 开发中,jQuery 可以用于创建动态的网页特效、增强用户交互体验、管理动态网页内容、进行数据提取和数据操作等等。

引入jquery的js文件

<script src="js/jquery-1.12.4.min.js"></script>
<script>

    $(function(){
		
		// 实现 table 中的 checkbox 的全选与取消全选
		$("#ck_all_1").click(function(){
			
			$(".ck_1").prop("checked",this.checked);
			
		});
		
		
		
		
		// 实现 table 中的 计算功能 
		$("button:eq(0)").click(function(){
			let sum=0;
			// 遍历 选中的所有的 checkbox
			$(".ck_1:checked").each(function(i,element){
				let str = $(element).parent().parent().find(".sal").text();
				sum+=parseFloat(str);
			});
			$("#sum_1").html(sum);
			
		});
		
		
		
	});


</script>

运行 即可出现 视频的效果

div布局

html 代码如下:

<div>
			<h1>使用 div 来实现--方式2</h1>
			<div>
				<div><input type="checkbox" id="ck_all_2"/>  姓名 薪水 </div>
				<div><input type="checkbox" class="ck_2"/>李四<span>4000</span></div>
				<div><input type="checkbox" class="ck_2"/>王丽<span>5000</span></div>
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
				
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
			</div>
			<div>
				<button>计算</button>
				<div id="sum_2">0</div>
			</div>
		</div>
		

js代码如下:

<script src="js/jquery-1.12.4.min.js"></script>
<script>

    $(function(){
		
	
		
		// 实现 div 方式 的 checkbox 的全选与取消全选
		$("#ck_all_2").click(function(){
			
			$(".ck_2").prop("checked",this.checked);
			
		});
		
		
		// 实现 div 中的计算功能
		$("button:eq(1)").click(function(){
			let sum = 0;
			$(".ck_2:checked").each(function(i,ele){
				let str2 = $(ele).parent().find("span").html();
				sum+=parseFloat(str2);
			});
			$("#sum_2").html(sum);
		});
		
	});


</script>

运行即可.

全部代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		
		
		
		
		做一个 带由复选框的 员工4月工资表,包含6名员工, 薪资 自定, 计算 选中员工的总薪资,(点击计算按钮后,为div 赋值)
		实现 全选的功能
		
		
		<div>
			<h1>使用 table 来实现-- 方式1</h1>
			<table>
				
				<tr>
					<td><input type="checkbox" id="ck_all_1"/></td>
					<td>姓名</td>
					<td>薪水</td>
				</tr>
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>李四</td>
					<td class="sal">5000</td>
				</tr>
				
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>王丽</td>
					<td class="sal">6000</td>
				</tr>
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>赵四</td>
					<td class="sal">8000</td>
				</tr>
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>赵四</td>
					<td class="sal">8000</td>
				</tr>
				<tr>
					<td><input type="checkbox" class="ck_1"/></td>
					<td>赵四</td>
					<td class="sal">8000</td>
				</tr>
			</table>
			<div>
				<button >计算</button>
				<div id="sum_1">0</div>
			</div>
		</div>
		
		
		
		<div>
			<h1>使用 div 来实现--方式2</h1>
			<div>
				<div><input type="checkbox" id="ck_all_2"/>  姓名 薪水 </div>
				<div><input type="checkbox" class="ck_2"/>李四<span>4000</span></div>
				<div><input type="checkbox" class="ck_2"/>王丽<span>5000</span></div>
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
				
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
				<div><input type="checkbox" class="ck_2"/>刘立<span>6000</span></div>
			</div>
			<div>
				<button>计算</button>
				<div id="sum_2">0</div>
			</div>
		</div>
		
		
		
	</body>
</html>
<script src="js/jquery-1.12.4.min.js"></script>
<script>

    $(function(){
		
		// 实现 table 中的 checkbox 的全选与取消全选
		$("#ck_all_1").click(function(){
			
			$(".ck_1").prop("checked",this.checked);
			
		});
		
		
		// 实现 div 方式 的 checkbox 的全选与取消全选
		$("#ck_all_2").click(function(){
			
			$(".ck_2").prop("checked",this.checked);
			
		});
		
		// 实现 table 中的 计算功能 
		$("button:eq(0)").click(function(){
			let sum=0;
			// 遍历 选中的所有的 checkbox
			$(".ck_1:checked").each(function(i,element){
				let str = $(element).parent().parent().find(".sal").text();
				sum+=parseFloat(str);
			});
			$("#sum_1").html(sum);
			
		});
		
		
		// 实现 div 中的计算功能
		$("button:eq(1)").click(function(){
			let sum = 0;
			$(".ck_2:checked").each(function(i,ele){
				let str2 = $(ele).parent().find("span").html();
				sum+=parseFloat(str2);
			});
			$("#sum_2").html(sum);
		});
		
	});


</script>

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

射手座的程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值