淺析BootStrap Treeview的簡(jiǎn)單使用
bootstrap-treeview.js1是一款強(qiáng)大的樹(shù)菜單插件,本文給大家介紹bootstrap treeview的簡(jiǎn)單使用。
廢話不多說(shuō),直接上干干貨。
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ù)格式:(注意了,使用過(guò)程中,樹(shù)的數(shù)據(jù)格式可以Json格式,也可以寫(xiě)死,當(dāng)然寫(xiě)死的代碼肯定不靈活。Json格式的字段名一定要按照tree的字段要求,即文本格式text,子節(jié)點(diǎn)名稱(chēng)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 定義樹(shù)結(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: '', //沒(méi)有子節(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("樹(shù)形結(jié)構(gòu)加載失敗!")
}
});
})
</script>
注:onNodeChecked 和 onNodeSelected 方法是說(shuō)明文檔中默認(rèn)的方法,還有其他的方法,自己自己查閱說(shuō)明文檔,或者查看 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類(lèi)
/// </summary>
public class Node
{
public Node() { }
public Node(int id, string str, List<Node> node)
{
nodeId = id;
text = str;
nodes = node;
}
public int nodeId; //樹(shù)的節(jié)點(diǎn)Id,區(qū)別于數(shù)據(jù)庫(kù)中保存的數(shù)據(jù)Id。若要存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)的Id,添加新的Id屬性;若想為節(jié)點(diǎn)設(shè)置路徑,類(lèi)中添加Path屬性
public string text; //節(jié)點(diǎn)名稱(chēng)
public List<Node> nodes; //子節(jié)點(diǎn),可以用遞歸的方法讀取,方法在下一章會(huì)總結(jié)
}
5、總結(jié):
簡(jiǎn)單的創(chuàng)建了樹(shù),復(fù)雜的功能以及邏輯判斷還需要進(jìn)一步設(shè)計(jì),自己閱讀bootstrap-treeview.js 還是很有啟發(fā)和發(fā)現(xiàn)的0-0,。
補(bǔ)充:

基于bootstrap-treeview做的一個(gè)漂亮的無(wú)限分類(lèi)樹(shù)層級(jí)聯(lián)動(dòng)菜單1.1版,點(diǎn)擊可以下載源碼
總結(jié)
以上所述是小編給大家介紹的bootstrap treeview的簡(jiǎn)單使用,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Android TreeView實(shí)現(xiàn)帶復(fù)選框樹(shù)形組織結(jié)構(gòu)
- 對(duì)Python 窗體(tkinter)樹(shù)狀數(shù)據(jù)(Treeview)詳解
- bootstrap treeview 樹(shù)形菜單帶復(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í)樹(shù)形列表TreeView示例
- JS樹(shù)形菜單組件Bootstrap TreeView使用方法詳解
- Bootstrap樹(shù)形菜單插件TreeView.js使用方法詳解
- GTK treeview原理及使用方法解析
相關(guān)文章
模仿JQuery sortable效果 代碼有錯(cuò)但值得看看
模仿JQuery sortable效果 代碼有錯(cuò)但值得看看,因?yàn)闀r(shí)間關(guān)系,需要的朋友可以參考下。2009-11-11
基于BootStrap的Metronic框架實(shí)現(xiàn)頁(yè)面鏈接收藏夾功能按鈕移動(dòng)收藏記錄(使用Sortable進(jìn)行拖動(dòng)排序)
這篇文章主要介紹了基于BootStrap的Metronic框架實(shí)現(xiàn)頁(yè)面鏈接收藏夾功能按鈕移動(dòng)收藏記錄(使用Sortable進(jìn)行拖動(dòng)排序)的相關(guān)資料,非常不錯(cuò),需要的朋友可以參考下2016-08-08
uni-app使用uniCloud實(shí)現(xiàn)圖形驗(yàn)證碼(uni-captcha)詳細(xì)過(guò)程
這篇文章主要給大家介紹了關(guān)于uni-app使用uniCloud實(shí)現(xiàn)圖形驗(yàn)證碼(uni-captcha)的相關(guān)資料,實(shí)際開(kāi)發(fā)工作中在登陸的時(shí)候經(jīng)常需要圖形驗(yàn)證碼,需要的朋友可以參考下2023-07-07
innerHTML,outerHTML,innerText,outerText的用法及區(qū)別解析
本篇主要是對(duì)innerHTML,outerHTML,innerText,outerText的用法及區(qū)別進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
JS實(shí)現(xiàn)的郵箱提示補(bǔ)全效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)的郵箱提示補(bǔ)全效果,涉及javascript正則匹配、事件響應(yīng)及頁(yè)面元素動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下2018-01-01
我遇到的參數(shù)傳遞中 雙引號(hào)單引號(hào)嵌套問(wèn)題
我遇到的參數(shù)傳遞中 雙引號(hào)單引號(hào)嵌套問(wèn)題2010-02-02

