
创建树形菜单(Tree)
<ul class="easyui-tree"><li> <span>Folder</span> <ul><li> <span>Sub Folder 1</span> <ul><li><span>File 11</span></li><li><span>File 12</span></li><li><span>File 13</span></li> </ul></li><li><span>File 2</span></li><li><span>File 3</span></li> </ul></li><li><span>File21</span></li> </ul>二、EasyUI创建异步树形菜单

创建树形菜单(Tree)
<ul id="tt" class="easyui-tree" url="tree2_getdata.php"> </ul>服务器端代码
$id = isset($_POST["id"]) ? intval($_POST["id"]) : 0;include "conn.php";$result = array(); $rs = mysql_query("select * from nodes where parentId=$id"); while($row = mysql_fetch_array($rs)){ $node = array(); $node["id"] = $row["id"]; $node["text"] = $row["name"]; $node["state"] = has_child($row["id"]) ? "closed" : "open"; array_push($result,$node); }echo json_encode($result);function has_child($id){ $rs = mysql_query("select count(*) from nodes where parentId=$id"); $row = mysql_fetch_array($rs); return $row[0] > 0 ? true : false; }三、EasyUI树形菜单添加节点
创建食品树
首先,我们创建食品树,代码如下所示:
<div style="width:200px;height:auto;border:1px solid #ccc;"> <ul id="tt" class="easyui-tree" url="tree_data.json"></ul> </div>请注意,树(Tree)组件是定义在 <ul> 标记中,树节点数据从 URL "tree_data.json" 加载。
var node = $("#tt").tree("getSelected"); if (node){ var nodes = [{ "id":13, "text":"Raspberry" },{ "id":14, "text":"Cantaloupe" }]; $("#tt").tree("append", { parent:node.target, data:nodes }); }当添加一些水果,您将看见:
正如您所看到的,使用 easyui 的树(Tree)插件去附加节点不是那么的难。
四、EasyUI创建带复选框的树形菜单
easyui 的树(Tree)插件允许您创建一个复选框树。如果您点击一个节点的复选框,这个点击的节点信息将向上和向下继承。例如:点击 "tomato" 节点的复选框,您将会看见 "Vegetables" 节点现在仅仅选中部分。

创建复选框树
<ul id="tt" class="easyui-tree" url="data/tree_data.json" checkbox="true"></ul>五、EasyUI树形菜单拖放控制

创建树形菜单(Tree)
$("#tt").tree({ dnd: true, url: "tree_data.json"});当在一个树节点上发生放置操作,"onDrop" 事件将被触发,您应该做一些或更多的操作,例如保存节点状态到远程服务器端,等等。onDrop: function(targetNode, source, point){ var targetId = $(target).tree("getNode", targetNode).id; $.ajax({ url: "...", type: "post", dataType: "json", data: { id: source.id, targetId: targetId, point: point } });}六、EasyUI树形菜单加载父/子节点
父/子节点数据
[{"id":1,"parendId":0,"name":"Foods"},{"id":2,"parentId":1,"name":"Fruits"},{"id":3,"parentId":1,"name":"Vegetables"},{"id":4,"parentId":2,"name":"apple"},{"id":5,"parentId":2,"name":"orange"},{"id":6,"parentId":3,"name":"tomato"},{"id":7,"parentId":3,"name":"carrot"},{"id":8,"parentId":3,"name":"cabbage"},{"id":9,"parentId":3,"name":"potato"},{"id":10,"parentId":3,"name":"lettuce"}]使用 "loadFilter" 创建树形菜单(Tree)$("#tt").tree({ url: "data/tree6_data.json", loadFilter: function(rows){ return convert(rows); }});转换的实现function convert(rows){ function exists(rows, parentId){ for(var i=0; i<rows.length; i++){ if (rows[i].id == parentId) return true; } return false; }var nodes = []; // get the top level nodes for(var i=0; i<rows.length; i++){ var row = rows[i]; if (!exists(rows, row.parentId)){ nodes.push({ id:row.id, text:row.name }); } }var toDo = []; for(var i=0; i<nodes.length; i++){ toDo.push(nodes[i]); } while(toDo.length){ var node = toDo.shift(); // the parent node // get the children nodes for(var i=0; i<rows.length; i++){ var row = rows[i]; if (row.parentId == node.id){ var child = {id:row.id,text:row.name}; if (node.children){node.children.push(child); } else {node.children = [child]; } toDo.push(child); } } } return nodes;}以上就是关于EasyUI创建树形菜单的基本操作方法,希望大家可以学以致用,真正的掌握其中的技巧。