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>"); }