JQuery实现全选/全不选

本文介绍了一个使用JavaScript实现全选和单选框状态同步的示例。当点击全选按钮时,所有单选框会被选中;反之,如果任何单选框被取消选中,全选按钮也会更新其状态。代码使用jQuery库,通过监听全选按钮和单选框的点击事件,动态更新所有表单项的checked属性,确保全选功能的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当点击全选时,获取全选表单项的checked属性值flag为true即被选中然后给所有属性名name='one'表单项添加被选中的属性checked="true"

给所有单选框绑定点击事件,当点击某个单选框取消被选中时,这时候需要遍历所有单选框当找到任意一个没被选中的单选框时就修改全选的那个单选框的被选中状态为false即checked=false,若是所有单选框的checked属性都是true则修改全选的那个单选框为被选中状态checked=true

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>全选</title>
		<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
		<script>
			$(function() {
				/*当点击全选时,获取全选表单项的checked属性值flag为true即被选中
				     然后给所有属性名name='one'表单项添加被选中的属性checked="true"
				 */
				$("#all").click(function() {
					var flag = $(this).prop("checked");
					console.log(flag);
					var oneList = $("input[name='one']");
					for(var i = 0; i < oneList.length; i++) {
						$(oneList[i]).prop("checked", flag);
					}
				});
				/*给所有单选框绑定点击事件,当点击某个单选框取消被选中时,
				 *这时候需要遍历所有单选框当找到任意一个没被选中的单选框时
				 *就修改全选的那个单选框的被选中状态为false即checked=false,
				 *若是所有单选框的checked属性都是true则修改全选的那个单选框为被选中状态checked=true
				 **/
				$("input[name='one']").click(function() {
					var oneList = $("input[name='one']");
					for(var i = 0; i < oneList.length; i++) {
						if(!$(oneList[i]).prop("checked")) {
							$("#all").prop("checked", false);
							return;
						}
					}
					$("#all").prop("checked", true);
				});
			});
		</script>
	</head>

	<body>
		<table id="myTable" border="1" cellpadding="0" cellspacing="0" width="90%" height="160px">
			<tr>
				<th>全选<input id="all" type="checkbox" /></th>
				<th>序号</th>
				<th>名称</th>
				<th>单价</th>
				<th>数量</th>
				<th>总计</th>
			</tr>
			<tr>
				<td><input name="one" type="checkbox" /></td>
				<td>1</td>
				<td>小熊饼干1</td>
				<td>¥125</td>
				<td>1</td>
				<td>¥125</td>
			</tr>
			<tr>
				<td><input name="one" type="checkbox" /></td>
				<td>2</td>
				<td>小熊饼干2</td>
				<td>¥125</td>
				<td>1</td>
				<td>¥125</td>
			</tr>
			<tr>
				<td><input name="one" type="checkbox" /></td>
				<td>3</td>
				<td>小熊饼干3</td>
				<td>¥125</td>
				<td>1</td>
				<td>¥125</td>
			</tr>
		</table>
	</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值