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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM