zTree简单使用方法

一.首先在页面上的标签<ul/>中:

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

二.定义ztree的配置参数setting:

var setting = {
data: {
simpleData: {
enable:true
}
},
async: {
enable: true,
url:"${unionproUser}myTeam/queryChilds.shtml",
autoParam:["id=userId"],
type:"post",
dataType: 'json',
dataFilter: filter
},
view: {  
            dblClickExpand: false,  
            showLine: true,  //是否显示节点间的连线  
            selectedMulti: false,  
            expandSpeed: "fast"
        }
};

function filter(treeId, parentNode, childNodes) {
return childNodes;
}

分析:

1.首先是data。在setting的data的simpleData中配置enable为true,则表示使用简单数据模式。不配置或者配置为false,则为标准数据模式。这里我使用的是简单数据模式。

2.然后是async。它表示异步请求,当我点击树的加号按钮时会触发。

(1)enable: 设置zTree是否开启异步加载模式,默认值为false。如果设置为true,请务必设置setting.async内的其他参数。如果需要根节点也异步加载,初始化时treeNodes参数设置为null即可。如果不需要,则在zNodes中设置数据(因为我使用的是简单数据模式,所以我在zNodes中设置了(id,pId,name,isParent:true      如果不设置isParent:true,则树没有加号,我也不知道为什么

(2)url:就是你要请求的地址

(3)autoParam:异步加载时需要自动提交父节点属性的参数,默认值为[]。

将需要作为参数提交的属性名称,制作成 Array 即可,例如:["id", "name"]

也可以设置提交时的参数名称,例如 server 只接受 userId: ["id=userId"]  //这个userId是在后台用到的,也就是request.getparameter("userId"); 而id则表示zNodes参数中的id

(4) dataFilter:用于的Ajax返回的数据进行预处理的函数。当Ajax执行后触发function filter()事件,childNodes即为后端穿过来的name属性,这个name是在zNodes中显示数据用的




三.获取zTree所要绑定的数据。

我的代码如下:(上面的赋值方式是因为用了bettl模板,在前端将后端的数据显示)

var zNodes =[
@ if(!isEmpty(datas!)){
{id:"${datas.id!}", pId:"${datas.recUserId!}", name:"${datas.accountNum!}      ${datas.name!}      0.00      0.00        0.00",isParent:true},
@ }
];

分析:

zTree在使用JSON数据时,由两种数据格式供我们使用,分别是标准数据模式和简单数据模式

标准的数据模式为:

var nodes = {name:"第一层级",children:[{name:"第二层级",id:2,childred:[{}]}],id:1}
标准的数据模式的数据是一个JSON对象,立面的name会用作显示节点的名称,children会用作第一个阶段的子节点,children里面是一个个的对象,这些对象也是第一层级的格式,层层嵌套最终形成一个数据集合用作加载tree。name和children是必须的属性,其他的属性根据我们的实际需求具体添加。

简单数据模式:

var nodes = [{name:"第一层级",id:0,pId:null},{name:"第二层级",id:1,pId:0},{name:"第一层级",id:2,pId:0}]

   简单数据模式的数据是一个数组对象,数组中的每一个对象都必须包括name,id,pid,name用作显示当前的节点名称,id表示当前的节点的唯一标识可用来做关联父级节点的桥梁,pid也是用来做父子节点的桥梁的,在默认情况下如果pid为null则当前的这个对象表示是tree的顶层节点。其他的属性根据我们的实际需求可以自行添加。

四。初始化tree生成树。

我的代码如下:

$(document).ready(function(){
var t = $("#tree");
t = $.fn.zTree.init(t, setting, zNodes);

});

分析:

当页面加载完成时自动加载此函数,初始化setting和zNodes

以上就是全部内容,如果想详细了解zTree,可以去看官方文档:http://www.treejs.cn/v3/api.php


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值