esayui combotree 只能选择子节点

Posted feipengting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

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

以上是关于esayui combotree 只能选择子节点的主要内容,如果未能解决你的问题,请参考以下文章

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

Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框

easyui 怎么获取选择子节点及父节点 的值

jquery easyui中 combotree的使用

combotree怎样去掉父节点的图标

easyui combotree获取选中的值