• Jquery EasyUI Combotree根据选中的值展开所有父节点


    Jquery EasyUI Combotree根据选中的值展开所有父节点 

    Jquery EasyUI Combotree 展开父节点,

    Jquery EasyUI Combotree根据子节点选中的值,展开前面所有父节点,

    Jquery EasyUI Combotree获取选中的值

    ================================

    ©Copyright 蕃薯耀 2018年5月7日

    http://www.cnblogs.com/fanshuyao/

    一、Combotree获取父节点的方法getParent,这其实是继承来自tree插件

    Js代码  
    1. Name        Parameter      Description  
    2. getParent   target         Get the parent node,   
    3.                            the target parameter indicate the node DOM object.  

    Tree获取父节点:

    Js代码  
    1. $("#treeId").tree("getParent", node.target);  

    Combotree获取父节点:

    Java代码  
    1. var treeObj = $("#combotreeId").combotree("tree");//先获取combotree的树对象  
    2. var parentNode = treeObj.tree("getParent", node.target);  

    二、Combotree获取选中的值

    Java代码  
    1. var treeObj = $("#combotreeId").combotree("tree");//先获取combotree的树对象  
    2. var nodesChecked = treeObj.tree("getChecked");//再通过树对象获取树所有选中的值,有可能有多个  

    三、展开父节点

    Js代码  
    1. $("#treeId").tree("expand", node.target);//node一般是父节点  

    四、根据叶子节点选中的值,展开所有父节点

    展开所有父节点的方法(递归展开父节点):

    Js代码  
    1. /** 
    2.  * 根据叶子节点展开所有父节点 
    3.  * @param treeObj 树对象,(combotree的树对象获取:var treeObj = comboObj.combotree("tree");) 
    4.  * @param node 叶子节点 
    5.  */  
    6. function expandParent(treeObj, node){  
    7.     var parentNode = treeObj.tree("getParent", node.target);  
    8.     if(parentNode != null && parentNode != "undefined"){  
    9.         treeObj.tree("expand", parentNode.target);  
    10.         expandParent(treeObj, parentNode);  
    11.     }  
    12. };  

    具体使用如下:

    Js代码  
    1. $("#cmm_code_id").combotree({  
    2.     multiple: true,  
    3.     required : true,  
    4.     checkbox : true,  
    5.     onlyLeafCheck : true,//只能叶子节点才能勾选  
    6.     url : "${pageContext.request.contextPath}/xxx",  
    7.     onBeforeSelect : function(node){  
    8.         $(this).tree("check", node.target);//控制点击文字时也能勾选  
    9.         return false;  
    10.     },  
    11.     onBeforeCheck : function(node, checked){  
    12.         if(checked){//如果是勾选操作,则把之前选中的节点清除(不勾选)  
    13.             var nodes = $(this).tree("getChecked");  
    14.             if(nodes.length > 0){  
    15.                 for(var i=0; i<nodes.length; i++){  
    16.                     $(this).tree("uncheck", nodes[i].target);  
    17.                 }  
    18.             }  
    19.         }  
    20.     },  
    21.     onLoadSuccess : function(node, data){  
    22.         var cmm_code_id_value = "${buildingNaming.cmm_code_id}";  
    23.         if(cmm_code_id_value != null && $.trim(cmm_code_id_value) != ""){  
    24.             var comboObj = $("#cmm_code_id");  
    25.             var treeObj = comboObj.combotree("tree");  
    26.                   
    27.             comboObj.combotree("setValue", cmm_code_id_value);  
    28.             var nodesChecked = treeObj.tree("getChecked");  
    29.             if(nodesChecked.length > 0){  
    30.                 for(var i=0; i<nodesChecked.length; i++){  
    31.                     expandParent(treeObj, nodesChecked[i]);  
    32.                 }  
    33.             }  
    34.         }  
    35.     }  
    36. });  

    (如果你觉得文章对你有帮助,欢迎捐赠,^_^,谢谢!) 

    ================================

    ©Copyright 蕃薯耀 2018年5月7日

    http://www.cnblogs.com/fanshuyao/

  • 相关阅读:
    ubuntu12.04 LTS 安装vmware 错误解决方法
    Linux 下的Bluetooth 架构 分类: Android驱动 20120316 11:07 492人阅读 评论(0) 收藏 举报 实战Linux Bluetooth编程(一) 协议栈概述
    通过DEFINE 生存config.h 配置
    Git的初次使用 ; Git常用命令查询 ; Git push ; Git pull 20111216 17:32 在介绍安装和简单使用前,先看一下百度百科中的简介吧: ———————————
    Android BCM4330 蓝牙BT驱动调试记录
    Linux的cpufreq(动态变频)技术
    高通平台android开发总结
    ssh 客户端配置文件
    Jprofile使用随笔_1_安装与监控linux
    服务器cpu占用100%,如何排查(java进程&sql)
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/9004016.html
Copyright © 2020-2023  润新知