博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
easyui tree扩展tree方法获取目标节点的一级子节点
阅读量:7210 次
发布时间:2019-06-29

本文共 9800 字,大约阅读时间需要 32 分钟。

Easyui tree扩展tree方法获取目标节点的一级子节点

/*  只返回目标节点的第一级子节点,具体的用法和getChildren方法是一样的 */$.extend($.fn.tree.methods,{    getLeafChildren:function(jq, params){        var nodes = [];        $(params).next().children().children("div.tree-node").each(function(){            nodes.push($(jq[0]).tree('getNode',this));        });        return nodes;    }});

项目中需要实现以下效果,点击左边tree,在右边显示小区,而且小区所属的区、市、省也要对应显示出来。

1、选中的节点,显示在右边区域

2、点击右边的收缩查看--展开折叠效果

3、遍历右边 省市区没有,则移除父级-市;省市没有时,移除父级-省

 

实现的代码如下

$('#tree-box').tree({        url : "termin***tion!initTress.html",       // data : treejson,        animate : true,        checkbox : true,        cascadeCheck : true,        onlyLeafCheck : false,        lines : true,        dnd : false,               onCheck : function (node,checked) {           /*选中的节点,显示在右边区域*/            var node = node;            moveToRight(node);        } }
/*选中的节点,显示在右边区域*/function moveToRight(node){    var tree = $("#tree-box");//树标签    var lelOne = tree.tree('getRoots');//一级节点(省)    var lelOneLength = lelOne.length;//    console.log(lelOne);    if(lelOneLength>0){        //遍历一级节点        for(var i=0;i
0){ //遍历二级节点 for(var j=0;j
0){ //遍历三级节点 for(var k=0;k
0){ //遍历四级节点,小区 for(var m=0;m
0){ $("#win").find(Parent1DomId_none).remove(); $("#win").find(Parent1DomId_none_children).remove(); } } //该县区有小区被勾选 if(housecheck==1){ var Parent1 = tree.tree('getParent', lelFour[0].target);//父级(小区所在的县、区) var Parent2 = tree.tree('getParent', Parent1.target);//父级(小区所在的市) var Parent3 = tree.tree('getParent', Parent2.target);//父级(小区所在的省) var sheng = '
' + '
' + '
' + '
' + Parent3.text + '
' + /*'
(132)
' +*/ '
收缩
'+ '
'; var shengshi = '
' + '
' + '
' + '
' + Parent3.text + '
' + '
>
' + '
' + Parent2.text + '
' + /*'
(132)
' +*/ '
收缩
'+ '
'; var shengshiqu = '
' + '
' + '
' + '
' + Parent3.text + '
' + '
>
' + '
' + Parent2.text + '
' + '
>
' + '
' + Parent1.text + '
' + /* '
(132)
' +*/ '
收缩
'+ '
'; var Parent1_DomId = "#"+Parent1.domId+"l"; var Parent2_DomId = "#"+Parent2.domId+"l"; var Parent3_DomId = "#"+Parent3.domId+"l"; var Parent1_DomId_class = "."+Parent1.domId+"_1"; var Parent2_DomId_class = "."+Parent2.domId+"_2"; var Parent3_DomId_class = "."+Parent3.domId+"_3"; //插入省 例:广东省(88)收缩 if($("#win").find(Parent3_DomId).length==0){ var shengBox = '
'; $("#win").find(".path-wrap").append(sheng); $("#win").find(Parent3_DomId).append(shengBox);// } //插入省市 例:广东省>广州市(88)收缩 if($("#win").find(Parent2_DomId).length==0){ var shengshiBox = '
'; $("#win").find(Parent3_DomId_class).append(shengshi); $("#win").find(Parent2_DomId).append(shengshiBox);// } //插入省市区 例:广东省>广州市>天河区(55)收缩 if($("#win").find(Parent1_DomId).length==0){ var shengshiquBox = '
'; $("#win").find(Parent2_DomId_class).append(shengshiqu); $("#win").find(Parent1_DomId).append(shengshiquBox);// } //插入小区 例:小区名称1 小区名称2 小区名称3 for(var m=0;m
'+ communityText+ ''; var nameid = "#"+communityDomId +"m"; var lelFourChecked = lelFour[m].checked; if(lelFourChecked){ if($("#win").find(nameid).length==0){ $("#win").find(Parent1_DomId_class).append(xiaoquming); } } if(!lelFourChecked){ if($("#win").find(nameid).length>0){ $("#win").find(nameid).remove(); } } }// } } } } } } } } /* 点击删除右边,左边树形对应的节点取消选中 */ cancelLeft(); /* 点击右边的收缩查看--展开折叠效果(弹窗里) */ quFoldAndUnfoldM(); /*遍历右边 省市区没有,则移除父级-市;省市没有时,移除父级-省*/ moveParent();}
/* 删除右边,左边树形对应的节点取消选中 */function cancelLeft(){    //点省前的叉号    $("#win").find(".path-delete3").on("click",function(){        var wrap3 = $(this).parent().parent();        var cancelCommunityName3 = wrap3.find(".community-name");        var shengWrap = wrap3.find(".community2").children();        cancelCommunityName3.each(function(){            var dataId = $(this).attr("data-id");            var cancelNode = $('#tree-box').tree('find', dataId);            $("#tree-box").tree('uncheck', cancelNode.target);        });        wrap3.remove();    });    //点省市前的叉号    $("#win").find(".path-delete2").on("click",function(){        var wrap2 = $(this).parent().parent();        var wrap2_parent = wrap2.parent().parent();        var cancelCommunityName2 = wrap2.find(".community-name");        cancelCommunityName2.each(function(){            var dataId = $(this).attr("data-id");            var cancelNode = $('#tree-box').tree('find', dataId);            $("#tree-box").tree('uncheck', cancelNode.target);        });        wrap2.remove();        var length2 = wrap2_parent.find(".path-box2").length;        if(length2==0){            wrap2_parent.remove();        }    });    //点省市区前的叉号    $("#win").find(".path-delete1").on("click",function(){        var wrap1 = $(this).parent().parent();        var wrap1_parent = wrap1.parent().parent();        var wrap1_parent_shi = $(this).parents(".community1");        var wrap1_parent_sheng = $(this).parents(".path-box3");        var cancelCommunityName1 = wrap1.find(".community-name");        cancelCommunityName1.each(function(){            var dataId = $(this).attr("data-id");            var cancelNode = $('#tree-box').tree('find', dataId);            $("#tree-box").tree('uncheck', cancelNode.target);        });        var length1 = wrap1_parent.find(".path-box1").length;        if(length1==0){            wrap1_parent.remove();        }        var length2 = wrap1_parent_shi.children().length;        if(length2==0){            wrap1_parent_sheng.remove();        }    })}
/* 点击右边的收缩查看--展开折叠效果(弹窗里) */function quFoldAndUnfoldM(){    var foldState1 = 1;    var foldState2 = 1;    var foldState3 = 1;    //广东省  查看收缩效果    $(".path3 .control").on("click",function(){        var cancelCommunityName = $(this).parent().next(".community");        if(foldState3){            $(this).empty().html("查看");            cancelCommunityName.hide();            foldState3 = 0;        }else{            $(this).empty().html("收缩");            cancelCommunityName.show();            foldState3 = 1;        }    });    //广东省>广州市  查看收缩效果    $(".path2 .control").on("click",function(){        var cancelCommunityName = $(this).parent().next(".community");        if(foldState2){            $(this).empty().html("查看");            cancelCommunityName.hide();            foldState2 = 0;        }else{            $(this).empty().html("收缩");            cancelCommunityName.show();            foldState2 = 1;        }    });    //广东省>广州市>天河区  查看收缩效果    $(".path1 .control").on("click",function(){        var cancelCommunityName = $(this).parent().next(".community");        if(foldState1){            $(this).empty().html("查看");            cancelCommunityName.hide();            foldState1 = 0;        }else{            $(this).empty().html("收缩");            cancelCommunityName.show();            foldState1 = 1;        }    });}
/*遍历右边 省市区、省市没有时,父级移除*/function moveParent(){    $("#win").find(".community2").each(function(){        var length2 = $(this).children().length;        if(length2==0){            $(this).parents(".path-box2").remove();        }    });    $("#win").find(".community1").each(function(){        var length1 = $(this).children().length;        if(length1==0){            $(this).parents(".path-box3").remove();        }    });}

 

转载于:https://www.cnblogs.com/baiyangyuanzi/p/6633125.html

你可能感兴趣的文章
NO.34 关于禅道加密
查看>>
本地安装magento无法登陆后台的问题
查看>>
期货逼仓攻略之郑商所版
查看>>
Golang string处理
查看>>
如何获得线程对象,获得Thread对象,得到线程对象,根据线程名获得线程对象,多线程取得线程对象...
查看>>
CentOS 系统盘迁移
查看>>
[angularjs]初学小记1
查看>>
使用Apache Kudu和Impala实现存储分层
查看>>
Croc Champ 2013 - Round 2 (Div. 2 Edition) C
查看>>
IP地址子网的划分机制
查看>>
Lync Server 2013群聊天室创建和简单测试
查看>>
Lync和Exchange 2013集成PART4:配置统一存档
查看>>
winserver 服务开机启动
查看>>
linux很容易忽略的rz上传、sz下载命令
查看>>
Oracle 使用DBMS_SCHEDULER创建定时任务
查看>>
weblogic linux sun/awt/X11GraphicsEnvironment
查看>>
Windows7 登陆失败:未知的用户名或密码错误 网络共享文件夹
查看>>
我的友情链接
查看>>
老男孩shell实战读书笔记 (6-10章节)
查看>>
Android微信跳一跳,自动跳App实现
查看>>