Jstree子节点与父节点的级联选择修改

文章来源于用Jstree做权限组设置时的BUG
主要问题:

1. 选定父节点时其子节点默认全选?
2. 跨过父节点(展开所有节点)选定子节点时其其父节点的父节点的父节点的…父节点不自己动选定?
但是作为一个成熟的权限组,我们要的是它:

1. 选定父节点时只选定当前节点,不选定其子节点
2. 跨过父节点(展开所有节点)选定子节点时,自动选定其父节点的父节点的父节点的…父节点

SO 文章由来
解决办法
Jstree初始化时设置:

"checkbox": {
            "keep_selected_style": false,//是否默认选中
            "three_state": false,//父子级别级联选择
            "tie_selection": true,
            "cascade":'undetermined'
        },

此时,当你跨过父节点选定子节点时,其其父节点的父节点的父节点的…父节点会成为一个半选的状态,也就是一墨点(占满全格子那种)而不是选定状态的对号(√)

最后在向服务器提交数据的时候我们就要获取所有的选定状态的节点及半选状态的节点
这样,选定子节点自动半选的父节点也会算在我们的权限组中

var nodes = [];//想要的权限节点id数组
    $.each($("#container").jstree("get_checked"), function (index, item) {//获取所有选定节点
        nodes.push(item);
    });
    $.each($("#container").jstree("get_undetermined"),function (index, item) {//获取所有半选节点
        nodes.push(item);
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值