jQuery 全选 全不选 事件绑定的实现代码
程序员文章站
2023-10-31 17:36:28
废话不多说了,直接给大家贴代码了,具体代码如下所示:
废话不多说了,直接给大家贴代码了,具体代码如下所示:
<td width="82%" colspan="3"> <input type="checkbox" id="all">全选 <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 全选 全不选 事件绑定的实现代码,希望对大家有所帮助