复选框的级联选择

       在做用户授权页面时,遇到了复选框的级联选择问题。参考已经有的关于级联选择的代码,但发现都或多或少有问题或者不满足自己的需求,因此自己写了一个。没有完全用jQuery,毕竟不是专攻前端,用起来并不是很顺手。

级联要求:

1、选中某一个节点,该节点的所有子节点均置为选中,该节点的所有父节点均置为选中;

2、取消选中某一个节点,该节点的所有子节点均取消选中;该节点的父节点根据当前节点的选中情况确定是否应取消选中。

       基本功能实现起来很清晰,问题出现在取消选中时对于父节点的操作部分。

基本思路:

按照层级关系给每个复选框赋ID值,样式如Box-{K1}-{k2}-{k3}-{k4}。

①选中某复选框,如Box-1-0-1,则

         设置id以"Box-1-0-1-"为前缀的复选框为选中状态;

         设置该复选框的上级节点“Box-1”,“Box-1-0”为选中状态。

②取消选中某复选框,如Box-1-0-1,则

        设置id以"Box-1-0-1-"为前缀的复选框为未选中状态;

        查询id以“Box-1-0-”为前缀的且复选框为选定状态的数量,若为0,则设置节点“Box-1-0”为未选中状态;

        查询id以“Box-1-”为前缀的且复选框为选定状态的数量,若为0,则设置节点“Box-1”为未选中状态。

        需注意此处处理的逻辑顺序。


代码如下:




    
    
	



内容管理


你可能感兴趣的:(复选框的级联选择)