天天看點

擷取樹選中葉子節點以及所有關聯父節點(easyui tree)

//生成實習生科室樹
        function createOrgnizationOfTrainee()
        {
            var k= getTreeSelected();
            for (var i = ; i < k.length;i++) {
                alert(k[i].text);
            }
            //alert(JSON.stringify( $('#org_tree').tree('getChecked')));
        }
        //獲原始樹結構所選節點的資料數組
        function getTreeSelected()
        {
            debugger;
            var nodes = $('#org_tree').tree('getChecked');
            var arr = new Array();
            for (var i = ; i < nodes.length;i++) {
                arr.push(nodes[i]);
                myFuc(nodes[i]);
            }
            return arr;

            //内部遞歸函數
            function myFuc(n) {
                var parent = $('#org_tree').tree('getParent', n.target);
                if (parent == null) return;
                if (isExistItem(parent)) return;
                arr.push(parent);
                myFuc(parent);
            }
            //驗證節點是否已存在數組中
            function isExistItem(item)
            {
                var flag = false;
                for (var i = ; i < arr.length;i++)
                {
                    if (arr[i] == item) {
                        flag = true; break;
                    }
                }
                return flag;
            }
        }
           
擷取樹選中葉子節點以及所有關聯父節點(easyui tree)

用上述方法即可依次彈出:

内分泌一

内分泌科

内科臨床部

血液一

血液科

綜述:該方法使用于無限級别樹結構的子樹擷取,隻要寄存器夠用!

繼續閱讀