zoukankan      html  css  js  c++  java
  • 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);

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

  • 相关阅读:
    2190 ACM 数学概率论的乘法和加法原则
    2186 ACM 水题 int 向下取整
    2110 ACM Crisis of HDU 母函数
    2079 ACM 选课时间 背包 或 母函数
    2111 ACM 贪心 水题
    2108 ACM 向量积 凹凸
    My Web Developer Roadmap
    2109 ACM 排序
    2107 ACM 水题
    vi的常用命令
  • 原文地址:https://www.cnblogs.com/feipengting/p/9309614.html
Copyright © 2011-2022 走看看