jQuery 全选 全不选 事件绑定的实现代码

时间:2021-05-26

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<td width="82%" colspan="3"><input type="checkbox" id="all">全选&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="reverse">反选</td><td width="82%" colspan="3"><s:checkboxlist name="resUuids" list="resList" listKey="uuid" listValue="name"></s:checkboxlist></td>$(function(){//全选$("#all").click(function(){//将下面所有组件全部选中//$("[name=resUuids]") 是多个组件,整体是个对象数组//$("[name=resUuids]").attr("checked","checked");//先获取当前组件的状态//$(this).attr("checked")//将所有组件设置为对应状态//$("[name=resUuids]").attr("checked",$(this).attr("checked"));//$(this).attr("checked")获取的值究竟是什么//alert($(this).attr("checked")); //undefined//$("[name=resUuids]").attr("checked","undefined");//js语法规则,除了false,FALSE,"false","FALSE",0五个值之外的所有值,认定为true//$("[name=resUuids]").attr("checked",false);var flag = $(this).attr("checked");$("[name=resUuids]").attr("checked",flag == "checked");});//反选 $("#reverse").click(function(){ //将所有组件的状态切换成原始状态的反状态 //$("[name=resUuids]").attr("checked",!($("[name=resUuids]").attr("checked")=="checked")); //当选择器选中的组件是多个时,获取组件的任何数据都是对第一个组件进行操作 //alert(!($("[name=resUuids]").attr("checked")=="checked")); //对每个组件进行迭代,让其操作状态为对应组件的原始状态的反状态 $("[name=resUuids]").each(function(){ //使用each操作实现对每个组件的操作 var flag = $(this).attr("checked"); $(this).attr("checked", !(flag =="checked")); }); checkSelect(); });//绑定组件 $("[name=resUuids]").click(function(){ //将全选的状态设置为基于所有组件的综合状态值 checkSelect(); }); function checkSelect(){ var allFlag = true; $("[name=resUuids]").each(function(){ var flag = $(this).attr("checked") == "checked"; //&:位运算与 &&:逻辑与 allFlag = allFlag && flag; }); $("#all").attr("checked",allFlag); } });

以上所述是小编给大家介绍的jQuery 全选 全不选 事件绑定的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章