issimpledata

1.首先在頁面上有<ul/>標簽

<ul id="tree" class="ztree"></ul>

2.定義ztree的配置參數
var setting = {
//check屬性放在data屬性之后,復選框不起作用
check: {
enable: true
},
data: {
simpleData: {
enable: true
},
}
};

3.獲得ztree所要綁定的數據,可以使用靜態數據也可以使用ajax獲取的數據
a)Ztree的數據有兩種格式,標準格式如下:
標準的 JSON 數據需要嵌套表示節點的父子包含關系
例如:

var nodes = [

{
name: "父節點1",
open:true,
children: [
{name: "子節點1"},
{name: "子節點2"}
]
}
];

  
b)簡單數據格式如下(推薦使用):
簡單模式的 JSON 數據需要使用 id/pId表示節點的父子包含關系,如使用其他屬性設置父子關聯關系請參考setting.data.simple內各項說明
例如:

var nodes = [

{id:1, pId:0, name: "父節點1"},
{id:11, pId:1, name: "子節點1"},
{id:12, pId:1, name: "子節點2"}
];

簡單數據的id,pId,name,title都可以在setting的data中進行配置,指定相應的字段。
在setting的data中配置simpleData為enable:true即表示使用簡單數據格式,不配置或配置為false則為標準數據格式.

var setting = {

data: {
simpleData: {
enable: true
}
}
};
4.初始化ztree生成樹

$.fn.zTree.init($("#tree"), setting, nodes);

第一個參數是<ul/>id選擇的jquery對象,第二個參數是配置的setting,第三個參數是獲取到的數據.核心參數:zTreeNodes
zTree 的全部節點數據集合,采用由JSON對象組成的數據結構,簡單的說:這里使用Json格式保存了樹的所有信息
zTreeNodes的格式分為兩種:利用Json格式嵌套體現父子關系和Array簡單格式
①帶有父子關系的標準 zTreeNodes 舉例:
Js代碼
var zTreeNodes = [
{"id":1, "name":"test1", "nodes":[
{"id":11, "name":"test11", "nodes":[
{"id":111, "name":"test111"}
]},
{"id":12, "name":"test12"}
]},
......
];
②帶有父子關系的簡單 Array 格式(isSimpleData)的 zTreeNodes 舉例:
Js代碼
var treeNodes = [
{"id":1, "pId":0, "name":"test1"},
{"id":11, "pId":1, "name":"test11"},
{"id":12, "pId":1, "name":"test12"},
{"id":111, "pId":11, "name":"test111"},
......
];

【實例一】(Java代碼)
①在頁面引用zTree的js和css:
Html代碼
<!-- ZTree樹形插件 -->
<link rel="stylesheet" href="<%=root%>/Web/common/css/zTreeStyle/zTreeStyle.css" type="text/css">
<!-- <link rel="stylesheet" href="<%=root%>/Web/common/css/zTreeStyle/zTreeIcons.css" type="text/css"> -->
<script type="text/javascript" src="<%=root%>/Web/common/js/jquery-ztree-2.5.min.js"></script>
②在script腳本中定義setting和zTreeNodes
Java代碼
var setting = {
isSimpleData : true, //數據是否采用簡單 Array 格式,默認false
treeNodeKey : "id", //在isSimpleData格式下,當前節點id屬性
treeNodeParentKey : "pId", //在isSimpleData格式下,當前節點的父節點id屬性
showLine : true, //是否顯示節點間的連線
checkable : true //每個節點上是否顯示 CheckBox
};

var treeNodes = [
{"id":1, "pId":0, "name":"test1"},
{"id":11, "pId":1, "name":"test11"},
{"id":12, "pId":1, "name":"test12"},
{"id":111, "pId":11, "name":"test111"},
];
③在進入頁面時生成樹結構:
Js代碼
var zTree;
Js代碼
$(function() {
zTree = $("#tree").zTree(setting, treeNodes);
});
④最后查看效果:

【實例二】(從后臺獲取簡單格式Json數據)
①后臺代碼封裝簡單格式Json數據:
Java代碼
public void doGetPrivilegeTree() throws IOException{
String s1 = "{id:1, pId:0, name:\"test1\" , open:true}";
String s2 = "{id:2, pId:1, name:\"test2\" , open:true}";
String s3 = "{id:3, pId:1, name:\"test3\" , open:true}";
String s4 = "{id:4, pId:2, name:\"test4\" , open:true}";
List<String> lstTree = new ArrayList<String>();
lstTree.add(s1);
lstTree.add(s2);
lstTree.add(s3);
lstTree.add(s4);
//利用Json插件將Array轉換成Json格式
response.getWriter().print(JSONArray.fromObject(lstTree).toString());
}

②頁面使用Ajax獲取zTreeNodes數據再生成樹
Js代碼
var setting = {
isSimpleData : true, //數據是否采用簡單 Array 格式,默認false
treeNodeKey : "id", //在isSimpleData格式下,當前節點id屬性
treeNodeParentKey : "pId", //在isSimpleData格式下,當前節點的父節點id屬性
showLine : true, //是否顯示節點間的連線
checkable : true //每個節點上是否顯示 CheckBox
};

var zTree;
var treeNodes;

$(function(){
$.ajax({
async : false,
cache:false,
type: POST,
dataType : "json",
url: root+"/ospm/loginInfo/doGetPrivilegeTree.action",//請求的action路徑
error: function () {//請求失敗處理函數
alert(請求失敗);
},
success:function(data){ //請求成功后處理函數。
alert(data);
treeNodes = data; //把后臺封裝好的簡單Json格式賦給treeNodes
}
});

zTree = $("#tree").zTree(setting, treeNodes);
});
③最后顯示效果

【實例三】從后臺動態獲取數據,樹節點提供右鍵菜單功能
①配置setting:
Js代碼
var url = "/ospm/loginInfo/doGetPrivilegeTree.action";
//zTree基本設置
var setting = {
async : true, //需要采用異步方式獲取子節點數據,默認false
asyncUrl : root + url, //當 async = true 時,設置異步獲取節點的 URL 地址 ,允許接收 function 的引用
asyncParam : ["id"], //提交的與節點數據相關的必需參數
isSimpleData : true, //數據是否采用簡單 Array 格式,默認false
treeNodeKey : "id", //在isSimpleData格式下,當前節點id屬性
treeNodeParentKey : "parentId", //在isSimpleData格式下,當前節點的父節點id屬性
nameCol : "privName", //在isSimpleData格式下,當前節點名稱
expandSpeed : "fast", //設置 zTree節點展開、折疊時的動畫速度或取消動畫(三種默認定義:"slow", "normal", "fast")或 表示動畫時長的毫秒數值(如:1000)
showLine : true, //是否顯示節點間的連線
callback : { //回調函數
rightClick : zTreeOnRightClick //右鍵事件
}
};

②配置鼠標右鍵事件,顯示右鍵菜單的代碼
Js代碼
//顯示右鍵菜單
function showRMenu(type, x, y) {
$("#rMenu ul").show();
if (type=="root") {
$("#m_del").hide();
$("#m_check").hide();
$("#m_unCheck").hide();
}
$("#rMenu").css({"top":y+"px", "left":x+"px", "display":"block"});
}
//隱藏右鍵菜單
function hideRMenu() {
$("#rMenu").hide();
}

//鼠標右鍵事件-創建右鍵菜單
function zTreeOnRightClick(event, treeId, treeNode) {
if (!treeNode) {
zTree.cancelSelectedNode();
showRMenu("root", event.clientX, event.clientY);
} else if (treeNode && !treeNode.noR) { //noR屬性為true表示禁止右鍵菜單
if (treeNode.newrole && event.target.tagName != "a" && $(event.target).parents("a").length == 0) {
zTree.cancelSelectedNode();
showRMenu("root", event.clientX, event.clientY);
} else {
zTree.selectNode(treeNode);
showRMenu("node", event.clientX, event.clientY);
}
}
}
Js代碼
<p><span style="background-color: #fafafa;"><!-- 右鍵菜單p -->
<p id="rMenu" style="position:absolute; display:none;">
<li>
<ul id="m_add" onclick="addPrivilege();"><li>增加</li></ul>
<ul id="m_del" onclick="delPrivilege();"><li>刪除</li></ul>
<ul id="m_del" onclick="editPrivilege();"><li>編輯</li></ul>
<ul id="m_del" onclick="queryPrivilege();"><li>查看</li></ul>
</li>
</p></span></p>
③頁面加載時生成樹并且監聽鼠標點擊事件,及時隱藏右鍵菜單
Js代碼
function reloadTree() {
hideRMenu();
zTree = $("#tree").zTree(setting, treeNodes);
}

var zTree;
var treeNodes = [];

$(function() {
reloadTree();

$("body").bind(//鼠標點擊事件不在節點上時隱藏右鍵菜單
"mousedown",
function(event) {
if (!(event.target.id == "rMenu" || $(event.target)
.parents("#rMenu").length > 0)) {
$("#rMenu").hide();
}
});
});autoParam作用是:
異步加載時需要自動提交父節點屬性的參數。[setting.async.enable = true 時生效]
默認值:[ ]

[ "id", "name" ]就是會把父節點里的id,name屬性也提交過去。
body font 2017高考英語必背單詞 自己做披薩的做法大全 www.ju7g.com 薛之謙無損 華人電視hdkan授權碼 新天鵝套索8中字土豆 權力的游戲雷加王子 dy2018bt下載 jcat lmk口紅 如何找手機緩存文件 abc客戶分類管理方案 ie8兼容min width 婚禮司儀主持詞精華版 住房補貼要交個稅嗎 sc2272 電路圖 黃埔區茅崗新村 vbsworm 成都馬拉松報名官網 rdt 163 封面 超級樂八點張杰 何炅離開湖南衛視 環球人文地理版面費 i5 7500 rx470d 跑分 smartgit github 成都明星經紀公司 武林外傳電視劇 lay low歌名是什么意思 gis根據屬性填充顏色 畫玫瑰花圖片大全素描

Copyright 果粒網 Some Rights Reserved

如反饋或投訴等情況聯系:une35498#163.com

吉林十一选五走势图表大乐透