jQuery实现checkbox的全选/全不选

	<ul style="list-style-type: none;">	
		<li>
			<input type="checkbox" name="check" />1
		</li>
		
		<li>
			<input type="checkbox" name="check" />2
		</li>
		<li>
			<input type="checkbox" name="check" />3
		</li>
		<li>
			<input type="checkbox" name="check" />4
		</li>
		<li>
			<input type="checkbox" name="check" />5
		</li>
		<li>
			<input type="checkbox" name="check" />6
		</li>
	</ul>
	<input type="checkbox" name="all" />全选/全不选

方法一
// 通过DOM对象
// 获取当前复选框的状态
// 因为初始时没有设置复选框的checked属性的值,默认为不选中
// this.checked时因为没有指定状态,所以这时的状态是选中状态
// 将选中的状态赋值给一个变量
// 当再次调用时this.checked的状态就会从选中状态改变为不选中状态

<script>
	$(function(){
		
		$("input[name='all']").click(function(){
			// 方法一
			// 获取当前复选框的状态
			var flag = this.checked;
			
			// 使用each 遍历所有的name为check复选框
			$("input[name='check']").each(function(){
				// 将获取的状态赋值给当前对象,
				this.checked = flag;
			});
		});

	});    			
 </script>

方法二
通过jQuery对象

$("input[name='all']").click(function(){
	// 方法二
	// 通过 :checked 选择器、is()方法,is() 用于查看选择的元素是否匹配选择器
	var $flag = $(this).is(":checked");
					
	// 使用each 遍历所有的name为check复选框
	$("input[name='check']").each(function(){
		//  将获取状态通过attr()方法设置当前对象的状态
		$(this).attr("checked",$flag);
    	});
});

方法三 AND 方法四
通过prop()方法

    //  prop()方法添加或移除标签固有的属性
    // 方法三
    // 使用DOM对象根据复选框all的状态来判断当前是否选中状态,即this.checked来获取
    $("input[name='all']").click(function(){
    	 $("input[name='check']").prop("checked",this.checked);
    });
    
    // 方法四
    // 通过jQuery对象,来获取复选框名为all的状态,$(this).prop("checked")
    $("input[name='all']").click(function(){
	$("input[name='check']").prop("checked",$(this).prop("checked"));
    });

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值