ztree选父不选子选子不选父
var setting = {
data: {
simpleData: {
enable: true
}
}
,check: {
enable: true
, chkStyle: 'checkbox'
//,chkboxType:{ "Y": "", "N": "" }
}
,callback:{
onCheck:function(e,treeId, treeNode){
if(treeId == "treeDemo") {
var zTreeObj = $.fn.zTree.getZTreeObj(treeId);
optParOrSon(treeId, treeNode,zTreeObj);
}
}
}
};
//获取所有子节点
var getChildsByTreeNode = function(treeNode,childsArr){
var childsArr = childsArr || [];
if (treeNode.isParent) {//是父节点则获取所有子节点
var childs = treeNode.children;
for(var i in childs){
childsArr.push(childs[i]);
getChildsByTreeNode(childs[i],childsArr);
}
}
return childsArr;
}; //获取所有父节点
var getParsByTreeNode = function(treeNode,parsArr){
var parsArr = parsArr || [];
var parNode = treeNode.getParentNode();
if(parNode){
parsArr.push(parNode);
getParsByTreeNode(parNode,parsArr);
}
return parsArr;
}
/**
* 选父不选子,选子不选父
* */
var optParOrSon = function(treeId,treeNode,zTreeObj){
if(treeNode.checked){
//取消全部后代节点的选中
var childNodes = getChildsByTreeNode(treeNode);
for(var i in childNodes){
zTreeObj.checkNode(childNodes[i], false, false);
}
//同时全部祖先节点也不能被选中
if(treeNode.getParentNode()){
var parNodes = getParsByTreeNode(treeNode);
for(var i in parNodes){
zTreeObj.checkNode(parNodes[i], false, false);
}
}
}
};
//展开选中节点
var expandCheckedNode = function(){
//获取所有选中状态的节点
var checkedNodes = zTreeObj.getCheckedNodes(true);
for(var i in checkedNodes){
var checkedParAll = getParsAll(checkedNodes[i]);
for(var j in checkedParAll){
zTreeObj.expandNode(checkedParAll[j],true,false);
}
}
};
ztree选父不选子选子不选父的更多相关文章
- ztree根据参数动态控制是否显示复选框/单选框(静态JSON数据)
本文不再更新,可能存在内容过时的情况,实时更新请访问原地址:ztree根据参数动态控制是否显示复选框/单选框(静态JSON数据): 现有全省各地区静态JSON数据,现在想通过Url参数,动态控制是否显 ...
- 复选框(checkox)全选、全不选、反选、获得选中项值的用例
HTML部分: <div class="all"> <ul> <li><input type="checkbox" v ...
- js 复选框 全选都选 如果某一个子复选框没选中 则全选按钮不选中
<!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>js 复选框 全选都选 ...
- CheckedListBoxControl 实现复选框的单选与多选功能
由于工作需要,需要实现复选框的单选与多选功能,找了好多资料都不是很全,经过两天苦苦的挖挖挖,终于完成啦O(∩_∩)O哈哈~ 用DEV控件中的CheckedListBoxControl控件,当然VS中的 ...
- js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false
用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false,当所有checkbox都被选中时,全选按钮也被选中. 详解: 有两种 ...
- Android开发CheckBox控件,全选,反选,取消全选
在Android开发中我们经常会使用CheckBox控件,那么怎么实现CheckBox控件的全选,反选呢 首先布局我们的界面: <?xml version="1.0" enc ...
- js之全选即点击全选标签可选择全部复选框
目标效果:网页全选功能,即点击全选标签可选择全部复选框 实现代码如下 <!DOCTYPE html> <html lang="en"> <head&g ...
- Javascript全选,反选,全不选的实现代码
使用js实现全选.反选.全不选. 代码如下: <html> <head> <script type="text/javascript"> fun ...
- 用jQuery实现(全选、反选、全不选功能)
在jQuery选择器的基础下我们实现一个全选,反选,全不选功能! <script type="text/javascript"> $(function ( ...
- jquery一键控制checkbox全选,反选,全不选。
jquery attr()方法获取标签的 checked 会有问题,所以用了 prop() 方法. Hml的checkbox没有加name,只用了 div 嵌套. 如有更好的方法,望指点!! //全选 ...
随机推荐
- 【转载】Gradle for Android 第六篇( 测试)
由于现阶段Android开发趋于敏捷开发,再加上国内大大小小的互联网公司都在做app,导致很多这会是一个系列,所以如果你看完这篇文章,请看下列文章: 开发人员对单元测试没有基本的概念,但是本篇博文不会 ...
- 查询Mysql数据库所有数据库所占磁盘空间大小
查询Mysql数据库所有数据库所占磁盘空间大小: /,),' MB') as data_size, concat(truncate(sum(index_length)//,),'MB') as ind ...
- 6.JavaCC官方入门指南-例1
例1:整数加法运算 在这个例子中,我们将判断如下输入的式子是否是一个合法的加法运算: 99 + 42 + 0 + 15 并且在输入上面式子的时候,数字与加号之间的任何位置,都是可以有空格或者换 ...
- 获取BOM标准用量
Select dbms_aw.eval_number(listagg(' 1' || sys_connect_by_pat ...
- BouncyCastle配置
1.BouncyCastle简介 BouncyCastle是一款开源的密码包,其中包含了大量的密码算法,使用BouncyCastle的目的就是为了扩充算法支持 下载地址最新加密组件包 http://w ...
- 基于mkv31芯片ADC差分应用
一.单端.全差分.伪差分 此部分转载https://www.cnblogs.com/alifpga/p/7976531.html 单端信号: 单端信号(single-end)是相对于差分信号而言的,单 ...
- Html学习之一(锚点链接的使用,页面间的跳转)
页面一: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- Python文件读取中:f.seek(0)和f.seek(0,0)有什么区别
file.seek()方法标准格式是:seek(offset,whence=0)offset:开始的偏移量,也就是代表需要移动偏移的字节数whence:给offset参数一个定义,表示要从哪个位置开始 ...
- 图像检索——VLAD
今天主要回顾一下关于图像检索中VLAD(Vector of Aggragate Locally Descriptor)算法,免得时间一长都忘记了.关于源码有时间就整理整理. 一.简介 虽然现在深度学习 ...
- 01 学习数据分析的python库
网页爬取 1.requests 2.BeautifulSoup 3.Scrapy 科学计算与数据分析 1.scipy 2.numpy 3.pandas 机器学习和深度学习 1.Scikit-learn ...