【jQuery】复选框的全选、反选,判断哪些复选框被选中

本文与《【JavaScript】复选框的全选、反选,判断哪些复选框被选中》(点击打开链接)为姊妹篇,把里面内容再与jQuery框架中实现一次,同样做到如下的效果:


布局还是同样的布局,只是由于在jQuery框架中,无须再为按钮,指定特定的onclick事件处理函数,直接使用jQuery指定即可:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>全选、反选</title>
		<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
    </head>
    <body>
	<button id="selected"/>哪里复选框被选中? </button>
	<button id="selectAll"/>全选</button>
	<button id="selectReserve"/>反选</button><br/>
	1<input type="checkbox" name="checkBoxGroup" value="1"/><br/>
	2<input type="checkbox" name="checkBoxGroup" value="2"/><br/>
	3<input type="checkbox" name="checkBoxGroup" value="3"/><br/>
	4<input type="checkbox" name="checkBoxGroup" value="4"/><br/>
</body>
</html>
之后在jQuery中,取name为checkBoxGroup的复选框数组,直接可以这样写:$(":checkbox[name='checkBoxGroup']"),当然$("input[type='checkbox'][name='checkBoxGroup']")也行,只是$(":checkbox[name='checkBoxGroup']")代码更加简单,注意checkbox前面的冒号。拿出来的东西是与Javascript的document.getElementsByName("xx")一样,同位复选框数组。只是在jQuery中可以直接利用each去遍历。为复选框设置选中与否使用prop,不要用attr,具体在《【jQuery】对于复选框操作的attr与prop》( 点击打开链接)已经说过了。

<script type="text/javascript">
	//哪里复选框被选中?
	$("#selected").click(function(){
		var str="被选中的复选框:";
		$(":checkbox[name='checkBoxGroup']:checked").each(function(){
			str+=$(this).val()+",";
		});
		alert(str);
	});
	//全选
	$("#selectAll").click(function(){
		$(":checkbox[name='checkBoxGroup']").each(function(){
			$(this).prop("checked",true);
		});
	});
	//反选
	$("#selectReserve").click(function(){
		$(":checkbox[name='checkBoxGroup']").each(function(){
			$(this).prop("checked",!$(this).prop("checked"));
		});
	});	
</script>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值