bootstrap-treeview.js1 は強力なツリー メニュー プラグインです。この記事では、ブートストラップ ツリービューの簡単な使用方法を紹介します。
これ以上ナンセンスはやめて、実践的な話に移りましょう。
1. bootstrap-treeview Github URL:
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.ツリーのデータ形式は Json 形式にすることも、ハードコーディングすることもできます。もちろん、Json 形式のフィールド名は、ツリーのフィールド要件に従う必要があります。 、テキスト形式、サブノード名、ノードなど)
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" } ];
<div id="tree"></div>
<script> $(function () { $.ajax({ type: "Post", url: "/Home/GetTreeJson", dataType: "json", success: function (result) { $('#tree').treeview({ data: result, // 数据源 showCheckbox: true, //是否显示复选框 highlightSelected: true, //是否高亮选中 //nodeIcon: 'glyphicon glyphicon-user', //节点上的图标 nodeIcon: 'glyphicon glyphicon-globe', emptyIcon: '', //没有子节点的节点图标 multiSelect: false, //多选 onNodeChecked: function (event,data) { alert(data.nodeId); }, onNodeSelected: function (event, data) { alert(data.nodeId); } }); }, error: function () { alert("树形结构加载失败!") } }); }) </script>
/// <summary> /// 返回Json格式数据 /// </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; //树的节点Id,区别于数据库中保存的数据Id。若要存储数据库数据的Id,添加新的Id属性;若想为节点设置路径,类中添加Path属性 public string text; //节点名称 public List<Node> nodes; //子节点,可以用递归的方法读取,方法在下一章会总结 }