FineUI 官方论坛

标题: 关于多选树 全选功能 [打印本页]

作者: zhang406391553    时间: 2017-12-5 11:25
标题: 关于多选树 全选功能
请教各位大大

http://mvc.fineui.com/#/Tree/CheckBoxCheckAll
在这个案例下
想实现不点击按钮 也能  获取所有的树节点id ,但是目前 获取不到最后一次事件,也就是不知道什么时候该去调用getCheckedNodes()方法


作者: shihahayue    时间: 2017-12-6 15:07
没看懂你啥意思,免费给你个获取节点ID的js吧,没写选中不选中,你可以把选中状态的判断加上
if (F.Tree) {
    $.extend(F.Tree.prototype, {
        //通过节点ID得到子项ID集合
        getSonsID: function (nodeid, b) {
            var t = this;
            var sonids = t.getSonsObj(nodeid, b).map(function (v) { return v.id; });
            return sonids;
        },
        //通过节点ID得到子项集合
        //nodeid节点ID,b是否只循环第一层 为true时循环所有子集
        getSonsObj: function (nodeid, b) {
            var t = this;
            var sons = [];
            var pnode = t.getNodeData(nodeid.toString());
            if (pnode) {
                sons.push(pnode);
                //第一级
                if (!b) {
                    $.each(pnode.children, function (i, v) {
                        sons.push(v);
                    })
                } else {
                    $.each(pnode.children, function (i, v) {
                        sons.push(v);
                        get(v);
                    })
                }
            }
            function get(_v) {
                if (_v.children && _v.children.length > 0) {
                    $.each(_v.children, function (a, b) {
                        sons.push(b);
                        get(b);
                    })
                }
            }
            return sons;
        }
    });
}

作者: zhang406391553    时间: 2017-12-6 19:57
shihahayue 发表于 2017-12-6 15:07
没看懂你啥意思,免费给你个获取节点ID的js吧,没写选中不选中,你可以把选中状态的判断加上
if (F.Tree) { ...

谢谢, 已经换其他空间替代了




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4