
对于zTree树控件,节点的默认提示信息title是节点的name,也就是默认显示节点的名称。你认真了解zTree,不难发现主要是key值在作祟:
view sourceprint
var setting = {
2data: {
3key: {
4title: "s"//这里的s表示节点内的s属性
5},
这里的key内的title默认指向的就是name属性,或者为空,为空的时候也会默认为name属性。
针对这位朋友的问题,其实方法很多:
1、在后台构造属性
在ajax页面内从数据库拿到数据list过后通过new的形式给最终返回的json对象构造一个属性t出来。然后修改setting内key的title指向属性值为t即可。
返回的json对象数据为:
view sourceprint
var zNodes =[
2{ id:1, pId:0, name:"节点搜索演示 1", t:"节点提示信息1", open:true},
3{ id:11, pId:1, name:"关键字可以是名字", t:"节点提示信息2"},
4{ id:12, pId:1, name:"关键字可以是level", t:"节点提示信息3"}
5];
修改setting内对应的key值
view sourceprint
var setting = {
2data: {
3key: {
4title: "t"//这里的s表示节点内的s属性
5},
2、动态修改树节点的属性
当前台给zTree树对象赋值结束后获取所有树节点,然后逐个更新树节点的属性值,示例代码如下所示:
view sourceprint
01$(document)ready(function () {
02$fnzTreeinit($("#treeDemo"), setting, zNodes);
03//获取树对象
04var treeObj = $fnzTreegetZTreeObj("treeDemo");
05//拿到所有树节点
06var nodes = treeObjgetNodes();
07//for循环逐个修改树节点属性
08for(var i = 0;i<nodeslength;i++)
09{
10nodes[i]t = "可以自定义排序";
11//更新节点
12treeObjupdataNode(nodes[i]);
13}
14});
当前如果只是修改部分节点可以在for内加以控制,如果是只更新指定节点可以通过getNodeByParam("属性名称","值",父节点对象)找到指定对象,形如:
view sourceprint
//给节点追加属性
2var treeObj = $fnzTreegetZTreeObj("treeDemo");
3var node = treeObjgetNodeByParam("id", 1, null);
4nodes = "可以自定义排序";
5treeObjupdateNode(node);
var setting = {
data: {
simpleData: {
enable: true
}
},
callback: {
onClick: onClick
}
};
function onClick(event, treeId, treeNode,clickFlag) {
alert(treeNodetId + ", " + treeNodename);//点击直接返回节点对象treeNode
var zTree = $fnzTreegetZTreeObj("treeDemo");
//var nodes = zTreegetNodes();
var nodes = zTreegetSelectedNodes();
alert(nodes[0]name);//返回被选中节点对象
};
ztree异步加载节点的时候需要提供一个url。
ztree初始化完会向这个url发送一次请求注意这个时候是不会带参数的。这个时候你需要返回给它你想要的节点。
ps:我是返回一个根节点给它。
然后在点击此时的节点时候,还是会向这个url发送请求此时会带配置的参数,如果你现在的处理方式和初始化之后那样,就还是返回你开始的那些节点给你。
所以,你需要根据不同的动作来处理你的返回值。
async : {enable : true,
url : _mapurl,//异步路径
autoParam : ["id","name" ],//请求携带节点上的属性值
dataFilter : function(treeId, parentNode, childNodes) {
if (!childNodes)return null;
for (var i = 0, l = childNodeslength; i < l; i++) {
var _c=childNodes[i];
_cisParent=_cparent;
childNodes[i]name = _cnamereplace(/\n/g, '');
}
return childNodes;
}
},
//只是提供处理思路 不需要copy
@RequestMapping("/getOrg")@ResponseBody
public List<ObjectTypeBean> getOrg(>
将“集团-公司-部门-小组”的树状结构的数据库表设计为“id name pId”,这种方式是可以的啊,后台异步加载时,根据id获取其子节点的个数,如果大于0,则设置isParent=true,我们项目中就是这样实现的
将zTree放在一个iframe里
zTreeObj = $("#treeDemo")zTree(setting, zNodes);
如果在当前页面的话,通过var nodes = zTreeObjgetCheckedNodes(); 即可
那么点击父页面的按钮,如何得到zTree已选中的节点?
假设iframe的id和name为aa(id和name都设置,兼容性问题)
windowframes['aa']windowzTreeObjgetCheckedNodes();
以上就是关于怎么得到ztree的style title内容全部的内容,包括:怎么得到ztree的style title内容、ztree获取节点对象急...、jquery. ztree 初始化的时候先获取了一部分节点数据显示树结构,当点击每个节点的时候需要等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)