DWZ的树结构是按<ul>,<li>的嵌套格式构成,最顶级的<ul>以class=”tree”标识。

 treeFolder, treeCheck, expand|collapse则为可选的。

 treeFolder:在所有树节点前加上Icon图标。
 treeCheck:在所有树节点前加上checkbox,

 expand表示树的所有第一级节点默认是展开状态
 collapse则表示所有第一级节点默认为折叠状态( 当expand与collapse都没有时默认则会展开第一个节点 )

 此时需要在<a> 加上三个扩展属性tname="", tvalue="", checked="",其中tname与tvalue对应该checkbox的name与  value属性,

 checked表示checkbox的默认状态是否checked.


        扩展属性oncheck是自定义函数, 用来接收点击checkbox时返回值, 当点击非子树节点checkbox时返回数据格式为:{checked:true|false,items:{name:name, value:value}}

当点击了树节点checkbox时, 此子树节点下所有的checkbox都将选中, 同时返回此子树节点下所有的checkbox的值


示例

private void recursionTreeMenu(String pId, StringBuffer buffer, List list, String url) {
        //这个url的作用是从jsp跳转到后台的修改链接里面
        if (pId.equals("0")) {
            //DWZ的树结构是按<ul>,<li>的嵌套格式构成,最顶级的<ul>以class=”tree”标识。
            //treeFolder:在所有树节点前加上Icon图标。
            //collapse则表示所有第一级节点默认为折叠状态
            buffer.append("<ul class=\"tree treeFolder collapse \" >");
        } else {
            buffer.append("<ul>");
        }
        List<Map> listMap = getSonMenuListByPid(pId, list);
        for (Map map : listMap) {
            String id = map.get("id").toString();// id
            String name = map.get("name").toString();// 名称
            String isLeaf = map.get("isLeaf").toString();// 是否叶子科目
            buffer.append("<li><a onclick=\"onClickMenuNode(" + id + ")\"  href=\"" + url + "?id=" + id + "\" target=\"ajax\" rel=\"jbsxBox\"  value=" + id + ">" + name + "</a>");
            if (!isLeaf.equals("1")) {
                recursionTreeMenu(id, buffer, list, url);
            }
            buffer.append("</li>");
        }
        buffer.append("</ul>");
}

 

 
posted on 2017-12-22 17:09  巨象  阅读(350)  评论(0编辑  收藏  举报