jQuery树形控件zTree使用小结

2020-05-23 06:17:32易采站长站整理

 勾选或取消勾选单个节点:checkNode(node, checked, checkedTypeFlag,callbackFlag);
 node:要进行操作的节点
 checked:为true勾选,为false取消勾选
 checkeTypeFlag:为true表示对当前结点的子节点及父节点进行勾选状态的联动,为false不联动
 callbackFlag:为true时表示执行beforeOnCheck和onCheck事件的回调函数,为false不执行
 编辑节点
 edit(node);  使节点处于编辑状态,必须引用jquery.ztree.exedit 扩展。
 展开或折叠全部节点:expandAll(expand);
 expand为true是展开所有节点,为false是折叠所有节点。
 根据节点属性查找结点:getNodesByParam(key,value, parentNode);
 key:属性名
 value:属性值
 parentNode:是否在指定节点下查找,为null表示整个树查找。
 获取被勾选或未被勾选的节点集合:getCheckedNodes(checked);
 checked为true表示获取所有被勾选的节点集合,为false表示所有未被勾选的节点集合
 获取输入框勾选状态被改变的节点集合:getChangeCheckedNodes()

2 zTree的常用操作
2.0 ajax请求数据并创建zTree 


$(function () {
var setting = { //此处根据自己需要进行配置
view: {
selectedMulti: false
},
data: {
simpleData: {
enable: true
}
},
callback: {
onClick: onDesignTreeClick,
onRightClick: OnRightClick,
beforeRename: beforeRename, onCheck:onCheck
}
};
$.ajax({
type: "Get",
url: "/Design/GetDesignTreeData", //ajax请求地址
success: function (data) {
$.fn.zTree.init($("#treeZo"), setting, data); //加载数据
},
});
});

后台代码如下,可以根据需要返回你想要的任何数据,绑定到zTree上,然后通过treeNode.属性名取到对应的值,实现一些界面逻辑操作。 


public ActionResult GetDesignTreeData()
{
var result = _designAppService.GetDesignTreeData();
List<ModelTreeViewModel> treeModels = new List<ModelTreeViewModel>();
bool open = false;
foreach (var design in result.Designs)
{
if (design.ParentId == Guid.Empty)
open = true;
else open = false;
treeModels.Add(new ModelTreeViewModel() { Id = design.Id.ToString(), PId = design.ParentId.ToString(), Name = design.Name, Open = open, Data = design.Remarks ?? "", ViewPoint = design.ViewPoint ?? "", Checked = true });
}
return Json(treeModels, JsonRequestBehavior.AllowGet);
}

2.1 节点单击操作
 节点单击事件会捕获事件对象e,zTree的唯一标识treeId,当前选中的节点对象treeNode三个参数。根据实际需求可获取treeNode中包含的任何属性数据,进行相关操作