淺析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ù)庫中保存的數(shù)據(jù)Id。若要存儲(chǔ)數(shù)據(jù)庫數(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-12
Gulp實(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-08
uniapp小程序自定義tabbar以及初次加載閃屏解決方法
Uniapp小程序可以通過自定義tabbar來實(shí)現(xiàn)更加個(gè)性化的界面設(shè)計(jì),下面這篇文章主要給大家介紹了關(guān)于uniapp小程序自定義tabbar以及初次加載閃屏解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05

