Jquery 实现checkbox全选方法
最近在写一个jquery实现checkbox全选的功能,在网上找了一些案例效果,感觉这个还可以,相对比较简单,就可以实现这个效果,所以就收藏一下。
可以实现同一个页面,多个全选的效果。
实现效果
实现代码
<!DOCTYPE html> <html lang="en"> <head> <title></title> </head> <body> <fieldset> <legend>全选one</legend> <input type="checkbox" class="xsChk" name="chk" /> 全选 <div> <input type="checkbox" name="chk" /> 1<br /> <input type="checkbox" name="chk" /> 2<br /> <input type="checkbox" name="chk" /> 3<br /> <input type="checkbox" name="chk" /> 4<br /> </div> </fieldset> <fieldset> <legend>全选two</legend> <input type="checkbox" class="xsChk" name="chk1" /> 全选2 <div> <input type="checkbox" name="chk1" /> 11<br /> <input type="checkbox" name="chk1" /> 22<br /> <input type="checkbox" name="chk1" /> 33<br /> <input type="checkbox" name="chk1" /> 44<br /> </div> </fieldset> <script type="text/javascript" src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function () { var xsChk = "xsChk";//定义的样式 var xsChkAll = "input[type='checkbox'][class='" + xsChk + "'][name]";//所有定义此样式的checkbox $(xsChkAll).each(function () { var name = $(this).attr("name"); name = "input[type='checkbox'][class!='" + xsChk + "'][name='" + name + "']";//此全选框下面的子checkbox $(this).click(function () { $(name).attr("checked", $(this)[0].checked); }) var xschk = $(this); $(name).click(function () { var IAll = $(name).length; //此子项目下所有checkbox的个数 var IChk = $(name + ":checked").length; //此子项目下所有勾选checkbox的个数 var isAllChecked = true; //是否是全选 if (IAll != IChk) { isAllChecked = false; } $(xschk).attr("checked", isAllChecked); }); }); }); </script> </body> </html>
大家还有其他比较好的实现这个功能的,可以作为交流。
本文作者: Liaodeity
本文链接: https://www.jianbaizhan.com/article/322
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!