ztree常用操作

1 篇文章 0 订阅

设置某些节点没有复选框

这里我设置的是 根节点 没有复选框
这里是一些常用操作

 var setting = {
	check: {
		enable: true,
		chkboxType: { "Y" : "", "N" : "" }  //设置父节点和子节点不关联
	},
	data: {
		simpleData: {
			enable: true,
			idKey: "id",
			pIdKey: "pid"
		}
	},
	callback: {
		onCheck: onCheck,
		beforeCheck: zTreeBeforeCheck
	}
};

function zTreeBeforeCheck(treeId, treeNode) {
     return !treeNode.isParent;//当是父节点 返回false 不让选取
}

zNodes的数据是后台组装来的,数据结构如下

[
{"id":"***","name":"***","pid":"***","nocheck":true,"open":true},
{"id":"***","name":"***","pid":"***","checked":true}
]

下边开始设置 某些节点 禁用复选框

$.fn.zTree.init($("#workTypeTree"), setting, zNodes);
var zTreeObj = $.fn.zTree.getZTreeObj("workTypeTree");
var _node = zTreeObj.getNodes();    //获取根节点
var _nodes = zTreeObj.transformToArray(_node);   //获取所有节点
if(_nodes.length>0){
	 for(var i=0;i<_nodes.length;i++){   //设置顶级节点 单选框禁用
		  if(_nodes[i].isParent){   //判断是否是父节点
		   //alert(_nodes[i].name);
		   _nodes[i].nocheck=true;   //设置 禁用复选框
		   zTreeObj.updateNode(_nodes[i]);  //更新节点
		  }
	 }
}

ztree复选框回显

1.在后台拼接的数据,拼接"checked", true

Java代码仅供参考,可根据业务自行修改

//获取到选中的节点id集合,用逗号隔开的
if(dw.indexOf(map.get("dept_id").toString()) != -1){
	resultMap.put("checked", true);
}

2.使用js回显

这里的 $(’#dw’).val() 是选中的节点(用逗号隔开的)

$.fn.zTree.init($("#workTypeTree"), setting, zNodes);
var zTreeObj = $.fn.zTree.getZTreeObj("workTypeTree");
var _node = zTreeObj.getNodes();    //获取根节点
var _nodes = zTreeObj.transformToArray(_node);   //获取所有节点
if(_nodes.length>0){
	 for(var i=0;i<_nodes.length;i++){   //设置顶级节点 单选框禁用
		  if(_nodes[i].isParent){   //判断是否是父节点
		   //alert(_nodes[i].name);
		   _nodes[i].nocheck=true;   //设置 禁用复选框
		   zTreeObj.updateNode(_nodes[i]);
		  }
		  //在这里判断   是否被选中,选中则回显
		  //这里开发兼容ie8 所以使用$.inArray ,也可以用indexOf
		  if($.inArray(_nodes[i].id, $("#dw").val()) != -1){   
			   //alert(_nodes[i].id);  
			   _nodes[i].checked = true;   //设置 回显复选框
			   zTreeObj.updateNode(_nodes[i]);   //更新节点
		   } 
	 }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值