淺析BootStrap Treeview的簡(jiǎn)單使用
bootstrap-treeview.js1是一款強(qiáng)大的樹菜單插件,本文給大家介紹bootstrap treeview的簡(jiǎn)單使用。
廢話不多說,直接上干干貨。
1、bootstrap-treeview Github網(wǎng)址:
https://github.com/jonmiles/bootstrap-treeview
2、使用要求:
<!-- 樣式表 --> <link href="~/Content/bootstrap.css" rel="stylesheet" /> <link href="~/bootstrap-treeview.css" rel="stylesheet" /> <!-- JS文件 --> <script src="jquery.js"></script> <script src="bootstrap-treeview.js"></script>
3、數(shù)據(jù)格式:(注意了,使用過程中,樹的數(shù)據(jù)格式可以Json格式,也可以寫死,當(dāng)然寫死的代碼肯定不靈活。Json格式的字段名一定要按照tree的字段要求,即文本格式text,子節(jié)點(diǎn)名稱nodes等)
var tree = [ { text: "Parent 1", nodes: [ { text: "Child 1", nodes: [ { text: "Grandchild 1" }, { text: "Grandchild 2" } ] }, { text: "Child 2" } ] }, { text: "Parent 2" }, { text: "Parent 3" }, { text: "Parent 4" }, { text: "Parent 5" } ];
4、簡(jiǎn)單使用:
4.1 添加容器:
<div id="tree"></div>
4.2 定義樹結(jié)構(gòu):(data為Json格式數(shù)據(jù),這里采用ajax,從后臺(tái)獲取,代碼如下)
<script> $(function () { $.ajax({ type: "Post", url: "/Home/GetTreeJson", dataType: "json", success: function (result) { $('#tree').treeview({ data: result, // 數(shù)據(jù)源 showCheckbox: true, //是否顯示復(fù)選框 highlightSelected: true, //是否高亮選中 //nodeIcon: 'glyphicon glyphicon-user', //節(jié)點(diǎn)上的圖標(biāo) nodeIcon: 'glyphicon glyphicon-globe', emptyIcon: '', //沒有子節(jié)點(diǎn)的節(jié)點(diǎn)圖標(biāo) multiSelect: false, //多選 onNodeChecked: function (event,data) { alert(data.nodeId); }, onNodeSelected: function (event, data) { alert(data.nodeId); } }); }, error: function () { alert("樹形結(jié)構(gòu)加載失??!") } }); }) </script>
注:onNodeChecked 和 onNodeSelected 方法是說明文檔中默認(rèn)的方法,還有其他的方法,自己自己查閱說明文檔,或者查看 bootstrap-treeview.js 文件,未壓縮的js文件內(nèi)容非常詳細(xì),易懂。
4.3 Json格式數(shù)據(jù)源:(采用.net MVC框架,列出簡(jiǎn)單的Control代碼)
/// <summary> /// 返回Json格式數(shù)據(jù) /// </summary> /// <returns></returns> [HttpPost] public JsonResult GetTreeJson() { var nodeA = new List<Node>(); nodeA.Add(new Node(4, "A01", null)); nodeA.Add(new Node(5, "A02", null)); nodeA.Add(new Node(6, "A03", null)); var nodeB = new List<Node>(); nodeB.Add(new Node(7, "B07", null)); nodeB.Add(new Node(8, "B08", null)); nodeB.Add(new Node(9, "B09", null)); var nodes = new List<Node>(); nodes.Add(new Node(1, "A01", nodeA)); nodes.Add(new Node(2, "B02", nodeB)); nodes.Add(new Node(3, "A03", null)); return Json(nodes, JsonRequestBehavior.AllowGet); } /// <summary> /// Tree類 /// </summary> public class Node { public Node() { } public Node(int id, string str, List<Node> node) { nodeId = id; text = str; nodes = node; } public int nodeId; //樹的節(jié)點(diǎn)Id,區(qū)別于數(shù)據(jù)庫(kù)中保存的數(shù)據(jù)Id。若要存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)的Id,添加新的Id屬性;若想為節(jié)點(diǎn)設(shè)置路徑,類中添加Path屬性 public string text; //節(jié)點(diǎn)名稱 public List<Node> nodes; //子節(jié)點(diǎn),可以用遞歸的方法讀取,方法在下一章會(huì)總結(jié) }
5、總結(jié):
簡(jiǎn)單的創(chuàng)建了樹,復(fù)雜的功能以及邏輯判斷還需要進(jìn)一步設(shè)計(jì),自己閱讀bootstrap-treeview.js 還是很有啟發(fā)和發(fā)現(xiàn)的0-0,。
補(bǔ)充:
基于bootstrap-treeview做的一個(gè)漂亮的無限分類樹層級(jí)聯(lián)動(dòng)菜單1.1版,點(diǎn)擊可以下載源碼
總結(jié)
以上所述是小編給大家介紹的bootstrap treeview的簡(jiǎn)單使用,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Android TreeView實(shí)現(xiàn)帶復(fù)選框樹形組織結(jié)構(gòu)
- 對(duì)Python 窗體(tkinter)樹狀數(shù)據(jù)(Treeview)詳解
- bootstrap treeview 樹形菜單帶復(fù)選框及級(jí)聯(lián)選擇功能
- WPF自定義TreeView控件樣式實(shí)現(xiàn)QQ聯(lián)系人列表效果
- Bootstrap treeview實(shí)現(xiàn)動(dòng)態(tài)加載數(shù)據(jù)并添加快捷搜索功能
- Android UI 之實(shí)現(xiàn)多級(jí)樹形列表TreeView示例
- JS樹形菜單組件Bootstrap TreeView使用方法詳解
- Bootstrap樹形菜單插件TreeView.js使用方法詳解
- GTK treeview原理及使用方法解析
相關(guān)文章
javascript 閃爍的圣誕樹實(shí)現(xiàn)代碼
用js實(shí)現(xiàn)非常漂亮的帶閃爍效果的圣誕樹代碼。很佩服作者的想法。效果如下圖。2009-12-12Gulp實(shí)現(xiàn)靜態(tài)網(wǎng)頁模塊化的方法詳解
眾所周知Gulp.js 是一個(gè)自動(dòng)化構(gòu)建工具,開發(fā)者可以使用它在項(xiàng)目開發(fā)過程中自動(dòng)執(zhí)行常見任務(wù)。下面這篇文章主要給大家介紹了關(guān)于Gulp實(shí)現(xiàn)靜態(tài)網(wǎng)頁模塊化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2018-01-01微信小程序scroll-view實(shí)現(xiàn)字幕滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序scroll-view實(shí)現(xiàn)字幕滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07在服務(wù)端(Page.Write)調(diào)用自定義的JS方法詳解
自從[javascript]自定義MessageBox一文發(fā)布以后,很多網(wǎng)友都來信詢問,如何在服務(wù)端調(diào)用ShowInfo方法,周末休息想了個(gè)折中的辦法來實(shí)現(xiàn)2013-08-08uniapp小程序自定義tabbar以及初次加載閃屏解決方法
Uniapp小程序可以通過自定義tabbar來實(shí)現(xiàn)更加個(gè)性化的界面設(shè)計(jì),下面這篇文章主要給大家介紹了關(guān)于uniapp小程序自定義tabbar以及初次加載閃屏解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05