Jquery EasyUI Combotree 展开父节点,
Jquery EasyUI Combotree根据子节点选中的值,展开前面所有父节点,
Jquery EasyUI Combotree获取选中的值
================================
©Copyright 蕃薯耀 2018年5月7日
http://fanshuyao.iteye.com/
一、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]); } } } } });
效果如下:
1、默认显示完整路径
2、默认根据叶子节点的值赋值,并从该子结点逐层向上展开所有父结点
(如果你觉得文章对你有帮助,欢迎捐赠,^_^,谢谢!)
================================
©Copyright 蕃薯耀 2018年5月7日
http://fanshuyao.iteye.com/
相关推荐
EasyUI是一个基于jQuery的UI库,提供了丰富的组件,其中包括Combotree,它是一个结合了下拉框和树形结构的控件,常用于选择具有层级关系的数据。 首先,我们需要了解EasyUI的Combotree控件。Combotree控件将树形...
总结一下,EasyUi combotree 实现动态加载树节点的关键在于利用 `onBeforeExpand` 事件和修改 Tree 控件的 `options.url`,以及服务器端需提供根据父节点ID返回子节点数据的接口。通过这种方式,可以有效地优化用户...
Combotree 需要的数据通常是一个 JSON 对象,包含父节点和子节点信息,例如: ```json [ {"id": "1", "text": "父节点1", "children": [ {"id": "11", "text": "子节点1.1"}, {"id": "12", "text": "子节点1.2...
本文将探讨如何解决 EasyUI ComBotree 在选择父节点时自动选择子节点的问题。 首先,这个问题出现在当用户勾选父节点时,EasyUI 的默认行为会同时勾选所有子节点。在某些业务场景下,这并不符合需求,例如,可能...
### jQuery EasyUI中文文档知识点概览 #### 一、Base基础 **1.1 Documentation文档** - **特性:** - 提供了丰富的组件库,包括但不限于:面板、标签页、菜单、表单等。 - 支持高度自定义,用户可以根据需求...
### jQuery EasyUI 知识点详解 #### 一、概述 **jQuery EasyUI** 是一个基于 jQuery 的前端 UI 框架,它提供了一系列丰富的用户界面插件,可以帮助开发者快速构建复杂的 Web 应用程序。该框架的目标是简化 HTML、...
总的来说,通过结合jQuery和EasyUI的Combotree组件,我们可以轻松地实现下拉框的多选功能。这个功能对于需要用户从多个选项中进行选择的Web应用非常有用,例如在设置权限、选择分类或者筛选条件等场景。通过自定义...