esayui combotree 只能选择子节点

esayui combotree 只能选择子节点用onBeforeSelect:参数是node,节点被选中之前触发,返回false取消选择动作。

网上找了好多都没一个可用的,要想知道他是子节点还是根节点,我们先来看看combotree的数据结构:

                data:[{
                    "id":1,
                    "text":"My Documents",
                    "children":[{
                        "id":11,
                        "text":"Photos",
                        "state":"closed",
                        "children":[{
                            "id":111,
                            "text":"Friend"
                        },{
                            "id":112,
                            "text":"Wife"
                        },{
                            "id":113,
                            "text":"Company"
                        }]
                    },{
                        "id":12,
                        "text":"Program Files",
                        "children":[{
                            "id":121,
                            "text":"Intel"
                        },{
                            "id":122,
                            "text":"Java",
                            "attributes":{
                                "p1":"Custom Attribute1",
                                "p2":"Custom Attribute2"
                            }
                        },{
                            "id":123,
                            "text":"Microsoft Office"
                        },{
                            "id":124,
                            "text":"Games",
                            "checked":true
                        }]
                    },{
                        "id":13,
                        "text":"index.html"
                    },{
                        "id":14,
                        "text":"about.html"
                    },{
                        "id":15,
                        "text":"welcome.html"
                    }]
                }]

id是用来分级的,根节点有children,而子节点没有children。那我们就有这个children 来区分是不是根节点。

具体代码如下:

            $("#easyui-tree").tree({
                "data": data,
                "onSelect": onSelect,
                "onBeforeSelect": function (node) {
                    var rows = node.children;
                    //选中的节点是否为叶子节点,如果不是叶子节点,清除选中
                    if (rows != null) {
                        return false;
                    } else
                        return true;
                }
            });

之前还有一个问题是后端传过来的json字符串直接放到"data":这个参数上一直加载不了树,后面才想起来必须系列化成JSON,就是 var data =json字符串;var dataJson=$.parseJSON(data);

这个问题容易被忽略所以提醒一下。

原文地址:https://www.cnblogs.com/feipengting/p/9309614.html

时间: 2024-11-07 09:28:49

esayui combotree 只能选择子节点的相关文章

Easyui控制combotree只能选择叶子节点

$(function() { $('#tt').combotree({ url: 'getTree.do', onBeforeSelect: function(node) { if (!$(this).tree('isLeaf', node.target)) { return false; } }, onClick: function(node) { if (!$(this).tree('isLeaf', node.target)) { $('#tt').combo('showPanel');

EasyUI Combotree只选择叶子节点

EasyUI Combotree的方法拓展自Combo和Tree.而Tree有一个onBeforSelect事件来帮助我们实现只选择叶子节点的功能. Tree事件需要 'node' 参数,它包括下列属性: id:绑定到节点的标识值. text:要显示的文本. iconCls:用来显示图标的 css class. checked:节点是否被选中. state:节点状态,'open' 或 'closed'. attributes:绑定到节点的自定义属性. target:目标的 DOM 对象. onB

TreeView控件点击父节点同时选择子节点JS脚本

1 <script language="javascript" type="text/javascript"> 2 function client_OnTreeNodeChecked() { 3 var obj = window.event.srcElement; 4 var treeNodeFound = false; 5 var checkedState; 6 if (obj.tagName == "INPUT" &&am

【JS学习笔记】DOM基础-首尾子节点,兄弟节点

一.DOM节点 (1)首尾子节点 有兼容性问题 firstChild.firstElementChild firstChild在高版本的浏览器上具有兼容问题,firstChild在高版本浏览器中指的是文本元素. firstElementChild高级浏览器下可以使用,在IE6-8下反而不兼容. 解决兼容性的办法是使用if进行判断 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://

hdu 5723 Abandoned country 最小生成树+子节点统计

Abandoned country Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 3006    Accepted Submission(s): 346 Problem Description An abandoned country has n(n≤100000) villages which are numbered from 1

extjs 递归获得下级子节点

在最近在coding过程中,遇到了这样一个情况(ext.js):有很多具有级联关系的combobox(后台动态生成,id有规律),在其中一个选择改变时,其下级子节点(所有子类节点)都clean value,回到页面初始渲染状态.后台想到这种情况可以在每个动态生成的combobox绑定一个选择改变事件,通过递归(递推)的思路解决 效果截图如下:                                    代码如下: //递归移除当前节点id 有级联关系的所有combobox functi

JS-DOM ~ 03. 子节点的操作、style.样式和属性、dom元素的创建方法及操作、14个例题、主要是利用js直接控制html属性

带有Element和不带的区别 a)  带Element的获取的是元素节点 b)  不带可能获取文本节点和属性节点 获取所以子节点 a)   . childNodes b)   . children c)   . parentNode . children [索引] . children:获取所有子节点 opacity:0-1:透明度 alpha(opacity:百分数):IE6/7/8透明度 先绑定事件再进行循环 previousNode()上一个兄弟节点 alert(变量名)可测试变量名是否

轻松学习JavaScript二十一:DOM编程学习之获取元素节点的子节点和属性节点

我们这里所说的获取元素节点的所有子节点包含元素子节点和文本节点两种.还是拿上一篇博文的代码实例进行 分析: <span style="font-size:18px;"><span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1

C#中TreeView选中父节点同时选中所有的子节点

TreeView 通常和CheckBoxs一起使用,显示并选择一些条目,特别是在等级分割的状态下,例如 当我选择一个父节点,希望该父节点下所有的子节点都被选中,取消一个节点,希望他所有的父节点都取消,例如 代码如下所示 //取消节点选中状态之后,取消所有父节点的选中状态 private void setParentNodeCheckedState(TreeNode currNode, bool state) { TreeNode parentNode = currNode.Parent; par