亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

輕松學習jQuery插件EasyUI EasyUI創建樹形菜單

2024-05-06 16:25:34
字體:
來源:轉載
供稿:網友
這篇文章主要幫助大家輕松學習jQuery插件EasyUI,EasyUI創建樹形菜單,內容很豐富,值得大家閱讀。
 

一、EasyUI使用標記創建樹形菜單
一個樹形菜單(Tree)可以從標記創建。easyui 樹形菜單(Tree)也可以定義在 <ul> 元素中。無序列表的 <ul> 元素提供一個基礎的樹(Tree)結構。每一個 <li> 元素將產生一個樹節點,子 <ul> 元素將產生一個父樹節點。

輕松學習jQuery插件EasyUI EasyUI創建樹形菜單

創建樹形菜單(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),每一個樹節點必須要有一個 'id' 屬性,這個將提交回服務器去檢索子節點數據。

輕松學習jQuery插件EasyUI 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樹形菜單添加節點
本節向您展示如何附加節點到樹形菜單(Tree)。我們將創建一個包含水果和蔬菜節點的食品樹,然后添加一些其他水果到已存在的水果節點。

輕松學習jQuery插件EasyUI 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" 加載。
得到父節點

然后我們通過點擊節點選擇水果節點,我們將添加一些其他的水果數據。執行 getSelected 方法得到處理節點:
 var node = $('#tt').tree('getSelected');
getSelected 方法的返回結果是一個 javascript 對象,它有一個 id、text、target 屬性。target 屬性是一個 DOM 對象,引用選中節點,它的 append 方法將用于附加子節點。
附加節點

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

當添加一些水果,您將看見:

輕松學習jQuery插件EasyUI EasyUI創建樹形菜單

正如您所看到的,使用 easyui 的樹(Tree)插件去附加節點不是那么的難。
四、EasyUI創建帶復選框的樹形菜單
easyui 的樹(Tree)插件允許您創建一個復選框樹。如果您點擊一個節點的復選框,這個點擊的節點信息將向上和向下繼承。例如:點擊 'tomato' 節點的復選框,您將會看見 'Vegetables' 節點現在僅僅選中部分。

輕松學習jQuery插件EasyUI EasyUI創建樹形菜單

創建復選框樹

<ul id="tt" class="easyui-tree" url="data/tree_data.json" checkbox="true"></ul>

五、EasyUI樹形菜單拖放控制
當在一個應用中使用樹(Tree)插件,拖拽(drag)和放置(drop)功能要求允許用戶改變節點位置。啟用拖拽(drag)和放置(drop)操作,所有您需要做的就是把樹(Tree)插件的 'dnd' 屬性設置為 true。

輕松學習jQuery插件EasyUI 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樹形菜單加載父/子節點
通常表示一個樹節點的方式就是在每一個節點存儲一個 parentid。 這個也被稱為鄰接列表模型。 直接加載這些數據到樹形菜單(Tree)是不允許的。 但是我們可以在加載樹形菜單之前,把它轉換為標準標準的樹形菜單(Tree)數據格式。 樹(Tree)插件提供一個 'loadFilter' 選項函數,它可以實現這個功能。 它提供一個機會來改變任何一個進入數據。 本教程向您展示如何使用 'loadFilter' 函數加載父/子節點到樹形菜單(Tree)。

輕松學習jQuery插件EasyUI 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創建樹形菜單的基本操作方法,希望大家可以學以致用,真正的掌握其中的技巧。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色777狠狠综合秋免鲁丝| 91欧美精品午夜性色福利在线| 国外色69视频在线观看| 欧美精品videos另类日本| 日韩在线高清视频| 91精品久久久久久综合乱菊| 久久高清视频免费| 97婷婷大伊香蕉精品视频| 岛国av午夜精品| 国产精品久久久久久搜索| 91麻豆国产语对白在线观看| 精品中文视频在线| 91情侣偷在线精品国产| 欧美在线观看一区二区三区| 欧美午夜激情视频| 成人中心免费视频| 欧美激情一区二区久久久| 国产一区二区欧美日韩| 亚洲影院高清在线| 亚洲国产精品免费| 日韩精品视频在线免费观看| 成人久久久久爱| 成人a在线观看| 91精品视频在线免费观看| 国产亚洲精品久久久优势| 欧美日韩中文在线| 亚洲国产精品资源| 国产精品毛片a∨一区二区三区|国| 日韩精品在线观看一区二区| 综合欧美国产视频二区| 欧美性生活大片免费观看网址| 最近2019免费中文字幕视频三| 中文字幕亚洲一区在线观看| 一区二区三区视频在线| 久久精品国产一区二区电影| 亚洲国产精品福利| 在线观看欧美成人| 国产精品男人爽免费视频1| 国产一区视频在线播放| 亚洲二区在线播放视频| 亚洲人成电影在线观看天堂色| 日韩中文字幕免费看| 日韩av黄色在线观看| 日韩精品在线观看一区| 国产精品国产亚洲伊人久久| 成人久久久久久| 九九热99久久久国产盗摄| 国产精品久久999| 国产精品电影久久久久电影网| 97精品视频在线观看| 亚洲韩国日本中文字幕| 精品视频在线导航| 欧美电影在线免费观看网站| 日韩欧美国产免费播放| 中文字幕国产日韩| 久久综合伊人77777尤物| 日韩中文字幕免费视频| 国产成人精品网站| 奇米影视亚洲狠狠色| 91精品国产99久久久久久| 亚洲最新视频在线| 国产精品久久久久久久久久免费| 久久成人这里只有精品| 国产精品一区久久久| 亚洲综合中文字幕在线| 麻豆精品精华液| 国外成人在线视频| 欧美黑人极品猛少妇色xxxxx| 日韩中文字幕在线看| 亚洲2020天天堂在线观看| 亚洲人成网站999久久久综合| 欧美激情一区二区三区久久久| 色无极影院亚洲| 日韩欧美在线中文字幕| 亚洲精品国精品久久99热| 久久久视频免费观看| 亚洲精品一区二三区不卡| 亚洲美腿欧美激情另类| 另类少妇人与禽zozz0性伦| 成人激情视频在线观看| 国产综合久久久久| 欧美日韩国产综合新一区| 91欧美激情另类亚洲| 国产精品日韩久久久久| 国产精品免费久久久久久| 国产国产精品人在线视| 欧美日韩美女视频| xxav国产精品美女主播| 成人免费淫片视频软件| 欧美激情视频一区| 久久久视频精品| 久久综合久久美利坚合众国| 日韩美女在线播放| 国产精品福利小视频| 日本久久91av| 精品国产精品三级精品av网址| 亚洲第一页中文字幕| 日韩免费观看视频| 欧美激情精品久久久久久大尺度| 国产成人在线一区二区| 久久免费观看视频| 国产精品欧美日韩| 亚洲аv电影天堂网| 欧美激情一区二区三区在线视频观看| 日韩国产激情在线| 亚洲电影在线观看| 91精品国产综合久久久久久蜜臀| 欧美日韩国产色视频| 欧美大学生性色视频| 欧美亚洲国产日本| 精品美女国产在线| 欧美成年人网站| 亚洲大胆美女视频| 日韩一区二区福利| 日韩一级裸体免费视频| 日韩av免费在线观看| 久久精品国产96久久久香蕉| 2019最新中文字幕| 欧美黄色小视频| 日本精品一区二区三区在线| 国产手机视频精品| 久久精品99久久久香蕉| 国产成人精品视| 久久在线视频在线| 国产精品久久久久久中文字| 亚洲精品久久久一区二区三区| 免费av一区二区| 亚洲美女性视频| 在线视频免费一区二区| 亚洲欧美激情四射在线日| 成人亲热视频网站| 欧美一级成年大片在线观看| 国产精品扒开腿爽爽爽视频| 日韩经典一区二区三区| 影音先锋欧美在线资源| 成人在线视频福利| 日韩av网站大全| 91在线精品播放| 国产精品女人久久久久久| 国产免费一区二区三区香蕉精| 久久99久国产精品黄毛片入口| 最近2019免费中文字幕视频三| 欧美国产视频日韩| 国产a∨精品一区二区三区不卡| 欧美另类交人妖| 欧美午夜精品伦理| 韩剧1988在线观看免费完整版| 狠狠综合久久av一区二区小说| 欧美贵妇videos办公室| 亚洲欧洲在线看| 91av视频在线观看| 黑人巨大精品欧美一区二区| 亚洲精品免费av| 国产精品午夜视频| 久久久精品美女| 国产精品激情自拍| 51精品国产黑色丝袜高跟鞋| 中国日韩欧美久久久久久久久| 国产视频在线一区二区| 欧美日韩第一页| 欧美性受xxx| 亚洲第一区中文字幕| 日韩有码在线观看| 日韩成人av网|