zTree的使用总结
zTree是开源的一个插件,它是一款JQuery实现的多功能“树型”列表插件。
使用
需要引入下面的库
1
2
3<link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="jquery.ztree.core-3.x.js"></script>编写一个div
<div><ul id="treeDemo" class="ztree"></ul></div>
- 编写js
var zTree ;
var setting = {
callback: {
onCheck: zTreeOnCheck,
onClick: zTreeOnClick
},
check:{
enable : true
}
};
$.ajax({
url:"/hrm/GetJson",
type:"get",
data:{},
dataType:"jsonp",
jsonp:"callBackJsonp",
success : success,
error : function(a,b,c){
alert("error"+c);
}
});
function success(nodes){
zTree = $.fn.zTree.init($("#treeDemo"), setting, nodes);
}
function zTreeOnCheck(event,treeNode,treeId){
alert("checked");
}
function zTreeOnClick(event,treeNode,treeId){
alert("Clicked");
}
function getTree(){
return zTree;
}
/*
// nodes样式
var nodes = [
{id:1, pId:0, name: "父节点1"},
{id:11, pId:1, name: "子节点1"},
{id:12, pId:1, name: "子节点2"}
];
*/
- 关于后台数据
由于跨域请求,所以用了jsonp,如果不跨域可以去掉,后台使用JSONObject和JSONArray拼的JSON串返回到界面并不能被zTree解析(自己当时做的时候是这样的),用list拼为nodes,再使用out.println(nodes);
arrayList.put("{id:12, pId:1, name: "子节点2"}");
问题
在父窗体上如何触发子窗体的zTree的onCheck方法
在父窗体使用js获取子窗体对象,parent.$(“#iframeID”).get(0).contentWindow; get(0)将Jquery对象转换为普通的js对象!!!
在子窗体定义一个获取zTree的方法getTree(),获取到子窗体调用getTree()方法拿到对象,之后相干啥就可以干了。获取选中的节点是getChangeCheckedNodes()
我怎么知道zTree有getChangeCheckedNodes
- 教给你一个办法,获取zTree对象,用console.log(zTree)。在控制台就可以看到zTree有什么方法了!
zTree的使用总结
http://example.com/2017/07/26/2017-7-26-zTree/