js实现选中checkbox

https://img3.mukewang.com/5bc47c3d0001166703270564.jpg

  • 选中“根节点”,则: 选中全部

  • 选中“父节点”,则:选中父节点和父节点的所有子节点

  • 选中“子节点”,则:同时选中它的父节点和根节点

  • 取消“根节点”,则: 取消全部 取消“父节点”,则:取消父节点和父节点的所有子节点

  • 取消“子节点”,则:根据其他子节点的选中情况,来判断父节点、根节点是 否应该取消。

这个效果该怎么实现?自己只能实现根节点的全选取消,父节点的全选取消


噜噜哒
浏览 644回答 1
1回答

智慧大石

选中一个节点的时候向上一直找到根,每个节点设置勾选遍历子节点及递归子节点,可以用递归也可以用循环实现(参考树的遍历),全部勾选取消一个节点找所有兄弟节点,判断是否全部都是取消状态,如果是,取消父节点,通过递归方式继续判断父节点的父节点是否需要取消……遍历子节点及递归子节点,全部取消
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript