`
阅读更多

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/

2
0
分享到:
评论
1 楼 蕃薯耀 2018-05-07  
Jquery EasyUI Combotree 展开父节点,
Jquery EasyUI Combotree根据子节点选中的值展开所有父节点,
Jquery EasyUI Combotree获取选中的值

=========
蕃薯耀

相关推荐

    easyui的combotree控件绑定json数据的例子

    EasyUI是一个基于jQuery的UI库,提供了丰富的组件,其中包括Combotree,它是一个结合了下拉框和树形结构的控件,常用于选择具有层级关系的数据。 首先,我们需要了解EasyUI的Combotree控件。Combotree控件将树形...

    EasyUi combotree 实现动态加载树节点

    总结一下,EasyUi combotree 实现动态加载树节点的关键在于利用 `onBeforeExpand` 事件和修改 Tree 控件的 `options.url`,以及服务器端需提供根据父节点ID返回子节点数据的接口。通过这种方式,可以有效地优化用户...

    JQuery EasyUI combotree

    Combotree 需要的数据通常是一个 JSON 对象,包含父节点和子节点信息,例如: ```json [ {"id": "1", "text": "父节点1", "children": [ {"id": "11", "text": "子节点1.1"}, {"id": "12", "text": "子节点1.2...

    浅谈EasyUi ComBotree树修改 父节点选择的问题

    本文将探讨如何解决 EasyUI ComBotree 在选择父节点时自动选择子节点的问题。 首先,这个问题出现在当用户勾选父节点时,EasyUI 的默认行为会同时勾选所有子节点。在某些业务场景下,这并不符合需求,例如,可能...

    jquery easyui中文文档

    ### jQuery EasyUI中文文档知识点概览 #### 一、Base基础 **1.1 Documentation文档** - **特性:** - 提供了丰富的组件库,包括但不限于:面板、标签页、菜单、表单等。 - 支持高度自定义,用户可以根据需求...

    jQuery EasyUI

    ### jQuery EasyUI 知识点详解 #### 一、概述 **jQuery EasyUI** 是一个基于 jQuery 的前端 UI 框架,它提供了一系列丰富的用户界面插件,可以帮助开发者快速构建复杂的 Web 应用程序。该框架的目标是简化 HTML、...

    jquery实现下拉框多选方法介绍

    总的来说,通过结合jQuery和EasyUI的Combotree组件,我们可以轻松地实现下拉框的多选功能。这个功能对于需要用户从多个选项中进行选择的Web应用非常有用,例如在设置权限、选择分类或者筛选条件等场景。通过自定义...

Global site tag (gtag.js) - Google Analytics