项目要求,需要向后台传递已经勾选的路径,如 l1-a, l1-l3-c,l1-l3-d;(如果是全选状态则只传递全选状态的路径,不传子节点)。

具体可以参考jQ  Ztree 的 v3.5 版本

Metro 风格的demo

 var mesetting = {
view: {
addHoverDom: addHoverDom,
removeHoverDom: removeHoverDom,
selectedMulti: true,
showIcon:true,
showLine:true,
dblClickExpand: false//禁用双击展开父节点功能
},
edit: {
enable: false,
showRemoveBtn: false,//设置删除按钮是否显示
showRenameBtn: false,//设置编辑按钮是否显示
drag: {//禁用拖拽
isCopy: false,
isMove: true
}
},
check: {
enable: true
},
data: {
simpleData: {
enable: true
}
},
callback: {
onClick: onClick,
onCheck: onCheck
}
};

主要描述onCheck :

 var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = treeObj.getCheckedNodes(true);
var oArr = [],nArr = [],oId;
$.each(nodes,function (index,item){
if (item.check_Child_State == 2 && !item.pId){
oArr.push(item); } if (item.check_Child_State == 2 && item.pId){
oId = item.id;
nArr.push(item);
} else if (item.check_Child_State == -1 && item.pId != oId){
nArr.push(item);
}
});

上面代码,oArr 取的是根节点的路径,nArr 取出的是根节点为半选状态的路径;

主要遇到一个坑就是下面要描述的 运用递归去 找出我要的路径结果:

 function getFilePath(treeNode){
if(treeNode==null)return "";
   var filename = treeNode.name;
   rootName = treeNode.name;
   var pNode = treeNode.getParentNode();    if(pNode!=null){
// oldName == '' ? path.push(pNode.name + ',' + filename) : path.push(pNode.name + ',' + oldName);
oldName == '' ? newName = pNode.name + ',' + filename : newName = pNode.name + ',' + oldName;
oldName = pNode.name + ',' + filename;
   filename = getFilePath(pNode);    }
path.push(newName);
  return filename,oldName = '',newName = '';
}

然后 发现这个path 是含有空的一个数组,希望大神能给看看上面情况。我处理的是对数组进行去空了操作

 //去除数组中的空值
function trimSpace(array){
for(var i = 0 ;i<array.length;i++)
{
if(array[i] == "" || typeof(array[i]) == "undefined")
{
array.splice(i,1);
i= i-1; }
}
return array;
}

以上仅代表个人在使用这个ztree中碰到多选构造路径遇到的麻烦。

Ztree 多选,显示勾选的路径的更多相关文章

  1. ztree点击文字勾选checkbox,radio实现方法

    ztree的复选框checkbok,单选框radio是用背景图片来模拟的,所以点击文字即使用label括起checkbox,radio文字一起,点击文字也是无法勾选checkbox. 要想点击ztre ...

  2. jquery,attr,prop,checkbox标签已有checked=checked但是不显示勾选

    最近在做项目的过程中碰到了这样的一个问题:在使用bootstrap模态框的过程中,在模态框中有一个checkbox标签,一开始是为选中的,当点击触发模态框按钮,选中chcekbox时,会显示勾选,这个 ...

  3. 解决jquery操作checkbox全选全不选无法勾选问题

    最近在学习中使用jquery操作checkbox,使用下面方法进行全选.反选:$("input[name='checkbox']").attr("checked" ...

  4. Angular/Vue多复选框勾选问题

    此页面效果以Angular实现,Vue也可按照其大致流程实现,其核心本质没有改变. 功能效果为:页面初始化效果为要有所有角色的复选框,要求初始化默认勾选的角色要显示勾选,之后,能按照最终勾选的状态提交 ...

  5. jquery checkbox勾选取消勾选的诡异问题

    jquery checkbox勾选/取消勾选的诡异问题jquery checkbox勾选/取消勾选的诡异问题 <form>        你爱好的运动是?<input type=&q ...

  6. Ztree加载完成后显示勾选节点

    ①前言:这个在度娘上没有搜到解决的办法,于是自己查看了ztree的API,发现其实还是比较简单的.做个笔记以备不时之需. ②需求: 像下图一样,在加载完成之后就显示需要勾选的项. ③解决方案: 首先页 ...

  7. ztree学习---将默认勾选的展开

    这里只给出前台页面上的代码,数据可以从后台获取,注意,在封装数据的时候,注意:Id(节点的id,可以是数字也可以是字符串) , pid(父亲节点的id) , name(节点名称)不能少 . html页 ...

  8. zTree 节点勾选取消勾选 选中取消选中

    zTreeObj.cancelSelectedNode function 举例 取消当前所有被选中节点的选中状态 var treeObj = $.fn.zTree.getZTreeObj(" ...

  9. jquery checkbox勾选/取消勾选的诡异问题

    <form> 你爱好的运动是?<input type="checkbox" id="CheckedAll" />全选/全不选<br ...

随机推荐

  1. 在Emacs中使用ECB(转载)

    转自:http://joerong666.iteye.com/blog/1813876 By:             潘云登 Date:          2009-7-9 Email:       ...

  2. (链接)Tomcat设置Session的失效方式

    tomcat 设置session过期时间(四种方式):https://blog.csdn.net/liuxiao723846/article/details/50055075 tomcat里设置ses ...

  3. K

    https://codeforces.com/gym/101982/attachments K 打表暴力 /*#include<bits/stdc++.h> using namespace ...

  4. SCUT - 249 - Hello World - 数位dp

    https://scut.online/p/249 数位dp的模板题? 需要特殊判断0,这个很不优雅,因为0-1=-1是个很奇葩的东西? #include<bits/stdc++.h> u ...

  5. poj1511【最短路spfa】

    题意: 计算从源点1到各点的最短路之和+各点到源点1的最短路之和: 思路: 源点这个好做啊,可是各点到源点,转个弯就是反向建边然后求一下源点到各点的最短路,就是各点到源点的最短路,在两幅图里搞: 贴一 ...

  6. Hexo瞎折腾系列(4) - 站点首页不显示文章全文

    文章摘要设置 打开主题配置文件 _config.yml 文件,找到如下: # Automatically Excerpt. Not recommend. # Please use <!-- mo ...

  7. RobotFramework自动化测试框架(3)- RobotFramework扩展测试库、资源文件、变量文件

    扩展测试库 扩展测试库可使用python或java语言编写.后直接导入需要使用的测试用例文件即可. 具体的实现和操作,后续补充.请参考官网. 资源文件 在资源文件中定义用户关键字,它提供了共享机制,即 ...

  8. IE下png图片黑边问题

    png图片在ie8下有黑色边框的情况想必大家都有遇到过吧,那么该怎么解决呢?其实很简单,下面的方法或许对大家有所帮助 background-image:url(******.png)!importan ...

  9. IE css hack整理

    CSS hack由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozillafirefox等,对CSS的解析认识不一样,因此会导致生成的页面效果 ...

  10. 洛谷p1955[NOI2015]程序自动分析

    题目: 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量 ...