使用jquery对复选框进行全选/反选

首先看一下结构

<span style="color:#3333ff;">  <body>
    <div>
    	<form action="" method="post">
    		<table>
    		
    			<tr><td>全选/全不选<input type="checkbox" class="select" /></td><td>姓名</td></tr>
    			<tr><td>选项 1:           <input type="checkbox"/></td><td>张3</td></tr>
    			<tr><td>选项 2:            <input type="checkbox"/></td><td>张4</td></tr>
    			<tr><td>选项 3:            <input type="checkbox"/></td><td>张5</td></tr>
    			<tr><td>选项 4:            <input type="checkbox"/></td><td>张6</td></tr>
    			<tr><td>选项 5:            <input type="checkbox"/></td><td>张7</td></tr>
    		
    		</table>
    </form>
    </div>
  </body></span>
然后是js代码(记得引用jq文件)

<span style="color:#3333ff;"><script type="text/javascript">
		$(function(){
			// 全选/全不选事件
			$(".select").click(function(){
				$("input:checkbox").attr("checked",this.checked);
			
			});
			
			//声明个标识变量 随便给个默认值
			var c = true;
			
			//如果点下面对应的复选框时 根据情况判断是否勾选第一个
			//(假如第一次选择了全选,然后又把下面复选框里对勾取消了,那么全选复选框中的对勾也应该取消
<span style="white-space:pre">			</span>//下图选项2没有被勾选,所以全选也没有被勾选

			$("input:checkbox:gt(0)").click(function(){
				//循环遍历选项看看是否都勾选了
				$("input:checkbox:gt(0)").each(function(i){
					//如果有 没有勾选的选项就把标识变量赋成false然后跳出循环
					if(this.checked==false){
						c = false;
						return false;
					}else{
						c=true;
					}
				
				});	
				//选项中如果有一个没勾选 ,全选复选框的对勾就会取消,反之选项中全部勾选,全选复选框也会被选中
				$(".select").attr("checked",c);
			});
			
		});
</script></span>

最后放张效果图



新手一枚,希望能帮助到大家,也希望获得大家的指点 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值