模拟多级复选框效果--jquery

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟多级复选框效果--jquery相关的知识,希望对你有一定的参考价值。

今天又次体会到jquery的强大了,做了个多级复选框的效果,代码总共就20+行就over了。

我又想用js来做一个看看,才写了几个方法就写不动了,兼容性要考虑很多,而且代码量直线上升。

主要分享下jquery的这个效果的实现。代码块分两块:

一是全选的效果,就是点击全选的复选框时它的子孙都相应被选中或者未选中。这个很好做,代码如下:

evtEle.parent().next(".checks").find("input:checkbox").attr("checked", evtEle[0].checked);//evtEle是点击的复选框

二是当前复选框的父框根据当前框的兄弟是否全选中来决定父框是否选中,再继续往上看父框的父框等。
当全选中时这里的实现使用parents来得到所有的父框,对每一个的操作结合each来完成。

当非全选中时父框依次失去被选中。代码如下:

技术分享
                if (evtEle.is("input:checked")) {
                    evtEle.parents(".checks").each(function () {
                        !$(this).children("p").children("input:checkbox").filter(function () {
                            return !this.checked;
                        })[0] && $(this).prev().children("input:checkbox").attr("checked", "checked");
                    });
                } else {
                    evtEle.parents(".checks").prev().children("input:checkbox").attr("checked", false);
                }
技术分享

 

demo下载

以上是关于模拟多级复选框效果--jquery的主要内容,如果未能解决你的问题,请参考以下文章

分享一些经典的特效效果,希望对大家有帮助

Jquery if复选框是否已选中Bootstrap开关

每天学一个jquery插件-多级的菜单

js实现多级复选框的交互

常用的几个JQuery代码片段

Markdown简明教程