Jquery EasyUI Combotree根據選中的值展開所有父節點
Jquery EasyUI Combotree 展開父節點,
Jquery EasyUI Combotree根據子節點選中的值,展開前面所有父節點,
Jquery EasyUI Combotree獲取選中的值
================================
©Copyright 蕃薯耀 2018年5月7日
http://www.cnblogs.com/fanshuyao/
一、Combotree獲取父節點的方法getParent,這其實是繼承來自tree插件
- Name Parameter Description
- getParent target Get the parent node,
- the target parameter indicate the node DOM object.
Tree獲取父節點:
- $("#treeId").tree("getParent", node.target);
Combotree獲取父節點:
- var treeObj = $("#combotreeId").combotree("tree");//先獲取combotree的樹對象
- var parentNode = treeObj.tree("getParent", node.target);
二、Combotree獲取選中的值
- var treeObj = $("#combotreeId").combotree("tree");//先獲取combotree的樹對象
- var nodesChecked = treeObj.tree("getChecked");//再通過樹對象獲取樹所有選中的值,有可能有多個
三、展開父節點
- $("#treeId").tree("expand", node.target);//node一般是父節點
四、根據葉子節點選中的值,展開所有父節點
展開所有父節點的方法(遞歸展開父節點):
- /**
- * 根據葉子節點展開所有父節點
- * @param treeObj 樹對象,(combotree的樹對象獲取:var treeObj = comboObj.combotree("tree");)
- * @param node 葉子節點
- */
- function expandParent(treeObj, node){
- var parentNode = treeObj.tree("getParent", node.target);
- if(parentNode != null && parentNode != "undefined"){
- treeObj.tree("expand", parentNode.target);
- expandParent(treeObj, parentNode);
- }
- };
具體使用如下:
- $("#cmm_code_id").combotree({
- multiple: true,
- required : true,
- checkbox : true,
- onlyLeafCheck : true,//只能葉子節點才能勾選
- url : "${pageContext.request.contextPath}/xxx",
- onBeforeSelect : function(node){
- $(this).tree("check", node.target);//控制點擊文字時也能勾選
- return false;
- },
- onBeforeCheck : function(node, checked){
- if(checked){//如果是勾選操作,則把之前選中的節點清除(不勾選)
- var nodes = $(this).tree("getChecked");
- if(nodes.length > 0){
- for(var i=0; i<nodes.length; i++){
- $(this).tree("uncheck", nodes[i].target);
- }
- }
- }
- },
- onLoadSuccess : function(node, data){
- var cmm_code_id_value = "${buildingNaming.cmm_code_id}";
- if(cmm_code_id_value != null && $.trim(cmm_code_id_value) != ""){
- var comboObj = $("#cmm_code_id");
- var treeObj = comboObj.combotree("tree");
- comboObj.combotree("setValue", cmm_code_id_value);
- var nodesChecked = treeObj.tree("getChecked");
- if(nodesChecked.length > 0){
- for(var i=0; i<nodesChecked.length; i++){
- expandParent(treeObj, nodesChecked[i]);
- }
- }
- }
- }
- });
(如果你覺得文章對你有幫助,歡迎捐贈,^_^,謝謝!)
================================
©Copyright 蕃薯耀 2018年5月7日
http://www.cnblogs.com/fanshuyao/