一.配置树参数

//1.获取setting值
function getSetting(){var setting = {view: {dblClickExpand: true,selectedMulti : true,//可以多选showLine: true},check: {  enable: true ,//显示复选框  chkStyle : "checkbox"},data: {key: {title:"t"},simpleData: {enable: true,idKey: "id",pIdKey: "pId",rootPId: null}},callback: {onCheck: onCheck}};return setting;
}

二.初始化树(创建树)

//2.创建树function createTree(treeId,dL,dLSize){//获取树参数默认值var setting=getSetting();var zNodes=new Array();//设置根节点数据zNodes[0]={ id:'##', pId:"-1", name:'物资类别', t:'物资类别',open:true};for(var i=0;i<dLSize;i++){//设置子节点数据zNodes[i+1]={ id:dL[i].classCode, pId:dL[i].parentCode, name:dL[i].className+"("+dL[i].classCode+")",classId:dL[i].classId, t:dL[i].className};}//1)创建zTree树$.fn.zTree.init($(treeId), setting, zNodes);//2)初始化已经被选中的物资类别checkMaterial();}

三.选中一开始被选中的(初始化一开始就选了的内容)

//3.初始化被选中的物资类别function checkMaterial(){var classCodes = $("#classCodes").val();//物资编码var datalist = classCodes.split(",");//将物资编码打散成数组//获取所有树节点var treeObj = $.fn.zTree.getZTreeObj("materialTree");if(datalist!='' &&datalist.length>0){var nodes=treeObj.getNodes();//获取所有子节点for(var i=0;i<datalist.length;i++){//通过id查找节点var node = treeObj.getNodeByParam("classId",datalist[i],null);//选中该节点if(node!=null){//先判断节点是否为空//选中该节点treeObj.checkNode(node,true,true);//获取该节点父节点var parent = node.getParentNode();if(!parent.open){//如果父节点没有展开则展开父节点treeObj.expandNode(parent,true,true);}}}}}

 

四.树的回调事件(保存选择的复选框内容)

//4.树的点击事件回调函数function onCheck(event, treeId, treeNode){var classCodes = $("#classCodes").val();//物资编码var classNames = $("#classNames").val();//物资名字//alert("onCheck");//获取所有树节点var treeObj = $.fn.zTree.getZTreeObj("materialTree");if(treeNode.checked){//如果是选中节点if(treeNode.isParent){//如果选中的是父节点(有子节点的节点)//获取选中的父节点的所有子节点var childrenNodes = treeNode.children;for (var i = 0; i < childrenNodes.length; i++) {classCodes+=","+childrenNodes[i].classId;classNames+=","+childrenNodes[i].name;} }else{//如果是子节点(无子节点的节点)classCodes += ","+treeNode.classId;classNames += ","+treeNode.name;}}else{//如果是取消选中if(treeNode.isParent){//如果取消的是父节点(有子节点的节点)//获取消的父节点的所有子节点var childrenNodes = treeNode.children;for (var i = 0; i < childrenNodes.length; i++) {var classCode=","+childrenNodes[i].classId;var className=","+childrenNodes[i].name;//删除取消的节点对应的数据classCodes=classCodes.replace(classCode, "");classNames=classNames.replace(className, "");}}else{//如果是子节点(无子节点的节点)classCode = ","+treeNode.classId;className = ","+treeNode.name;//删除取消的节点对应的数据classCodes=classCodes.replace(classCode, "");classNames=classNames.replace(className, "");}}//保存选中的值(物资类别编码、物资类别名字)$("#classCodes").val(classCodes);$("#classNames").val(classNames);}

五.保存所选内容

 //5.保存所选物资类别function saveMaterial(inputName){//获取父页要修改input元素var $input=parent.$("input[name="+inputName+"]");//获取选中的物资类别名称var className=$("#classNames").val();var classCode=$("#classCodes").val();//截取掉多余的“,”var classNames=className.substring(1,className.length+1);//截取掉多余的“,”var classCodes=classCode.substring(1,classCode.length+1);//修改所选的物资类别名字$input.val(classNames);//修改所选的物资类别编码$input.attr("classCodes",classCodes);$input.next().val(classCodes);//关闭弹窗parent.layer.closeAll();}

六.关闭弹窗

 //6.关闭弹窗function closeMaterial(){parent.layer.closeAll();}

zTree复选框案例相关推荐

  1. axure实现复选框全选_AxureRP8实战手册-案例73(全选与取消全选效果)

    案例73. 全选与取消全选效果 案例来源: 百度音乐-音乐盒 案例效果: 初始状态/取消全选时:(图5-117) 全选后取消任一选项时:(图5-118) 全选/单选全部选中时:(图5-119) 案例描 ...

  2. layui复选框:被js操作checked切换并显示状态(含案例、代码)

    文章目录 layui复选框:被js操作checked切换并显示状态 (含案例.代码) 案例 · 应用 · 截图: 案例 · 代码: 背景 · 设置: 使用说明: layui复选框:被js操作check ...

  3. layui复选框组件:如何操控隐藏域实现checked状态切换(含代码、案例、截图)

    文章目录 layui复选框组件:如何操控隐藏域实现checked状态切换(含代码.案例.截图) 注意: 案例 · 应用场景 · 说明: 案例 · 截图 · 示下 主要代码 · 示下: 使用说明: 博主 ...

  4. phpcmsV9 添加内容:如何“增加复选框、下拉菜单”(含案例、截图)- 教程篇

    文章目录 phpcmsV9 添加内容:如何"增加多选框.下拉菜单"(含案例.截图)- 教程篇 步骤: 效果截图:省略 phpcmsV9 添加内容:如何"增加多选框.下拉菜 ...

  5. jquer案例2:改变元素的样式、复选框、下拉框 省份的选择

    一.改变元素的样式 图表1是这次需要完成的效果,这次的效果是在左边输入数据,右边则显示你输入数据的效果,假如你在左边背景色把它改成绿色,右边正方形的背景颜色也将变成绿色 图表 1 先把jquer的插件 ...

  6. ztree autoCheckTrigger=true时 子节点复选框选中 导致父节点onCheck触发多次问题处理

      ztree实现复选框功能,并且子节点选中时,父节点自动选中,子节点取消选中(若所有子节点都没有选中)则父节点也会自动取消选中,check配置如下: check: {enable: true,chk ...

  7. Ztree树的复选框和获取选择的节点实例和代码

    0 zTree简介 树形控件的使用是应用开发过程中必不可少的.zTree 是一个依靠 jQuery 实现的多功能 "树插件".优异的性能.灵活的配置.多种功能的组合是 zTree ...

  8. ztree 点击节点操作复选框

    var setting = {view: {//dblClickExpand: true,//selectedMulti : true,//可以多选//showLine: true},check: { ...

  9. zTree点击文字勾选复选框

    1.问题背景 系统利用zTree插件生成下拉复选树,点击文字勾选复选框 2.实现源码 <!DOCTYPE html><html><head> <title&g ...

最新文章

  1. 使用RMAN VALIDATE验证数据和备份
  2. createprocess重启程序_C++_VC程序设计中CreateProcess用法注意事项,对于windows程序设计来说,启动 - phpStudy...
  3. 九度 1376 最近零子序列
  4. 费城中餐馆奇葩鸡翅定价引爆网络,数万网友想要破解数学谜题
  5. oracle segment undo_71_UNDO扩展学习
  6. 你们的2016年前端学习计划是什么?
  7. 第13-17章阅读后的思考
  8. 电信人的数据应用:销售指引系统
  9. linux日志文件优缺点,Linux日志文件总结
  10. Node.js 系列翻译---console
  11. 04L型匹配和T型匹配的核心算法
  12. 匈牙利命名法为何被淘汰_体育午报:15年魔咒破除!国足淘汰赛终迎一胜
  13. 威联通NAS安装openwrt旁路由
  14. 数字语言,简历的“含金量”
  15. 前端开发面试问题及答案收录
  16. AWS 服务器登录和配置
  17. mysql1300错误什么意思_MySQL ERROR 1300 (HY000): Invalid utf8 character string
  18. 推荐系统开源软件列表汇总和点评
  19. 7K325T 引脚功能详解
  20. 纳米数据,专业的体育数据服务商,如何选择合理的数据api接口?赛事比分接口调试案例,比赛数据源码

热门文章

  1. 【算法笔记】算法的平均时间复杂度A(n)的公式及示例
  2. 本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动...
  3. python爬虫分析
  4. 登录系统以后,在Windows服务进程中启动需管理员权限(带盾牌图标)的应用程序
  5. 糟糕程序员和优秀程序员的区别?
  6. caffe+Ubuntu14.04.10 +cuda7.0/7.5+CuDNNv4 安装
  7. ubuntu18.04安装gcc详细步骤(附问题集)
  8. java 圆的交点_Java:三角形的内切圆,外接圆
  9. 龙珠激斗服务器一直维护,删档最后的狂欢 龙珠激斗关服礼包用法解析
  10. Windows系统是什么语言编写的