easyui-treegrid本身不能实现选中父节点子节点全选,必须通过另外的方法来实现,这里说下如何通过修改节点样式添加checkbox来实现级联选择效果

首先需要格式化节点的样式

formatter: function (value, row, index) {
return "<input type='checkbox' onclick=show('" + row.ID + "') id='check_" + row.ID + "'/>" + row.EntityName;
}

show方法如下:

function show(checkid) {
var s = '#check_' + checkid;
//alert( $(s).attr("id"));
// alert($(s)[0].checked);
/*选子节点*/
var nodes = $("#EntityTree").treegrid("getChildren", checkid);
for (i = 0; i < nodes.length; i++) {
$(('#check_' + nodes[i].ID))[0].checked = $(s)[0].checked; }
//选上级节点
if (!$(s)[0].checked) {
var parent = $("#EntityTree").treegrid("getParent", checkid);
$(('#check_' + parent.ID))[0].checked = false;
while (parent) {
parent = $("#EntityTree").treegrid("getParent", parent.ID);
$(('#check_' + parent.ID))[0].checked = false;
}
} else {
var parent = $("#EntityTree").treegrid("getParent", checkid);
var flag = true;
var sons = parent.sondata.split(',');
for (j = 0; j < sons.length; j++) {
if (!$(('#check_' + sons[j]))[0].checked) {
flag = false;
break;
}
}
if (flag)
$(('#check_' + parent.ID))[0].checked = true;
while (flag) {
parent = $("#EntityTree").treegrid("getParent", parent.ID);
if (parent) {
sons = parent.sondata.split(',');
for (j = 0; j < sons.length; j++) {
if (!$(('#check_' + sons[j]))[0].checked) {
flag = false;
break;
}
}
}
if (flag)
$(('#check_' + parent.ID))[0].checked = true;
}
}
}

easyui-treegrid节点选择的更多相关文章

  1. Extjs4.x treepanel,treegrid 节点选择,选中某个节点

    //官方推荐 this.getModuleGrid().getRootNode().cascadeBy(function () { this.set("checked", fals ...

  2. Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框

    Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框 Jquery EasyUI Combotree单选框,Jquery EasyUI Combotree只能选择叶子节点 ...

  3. Jquery easyui treegrid实现树形表格的行拖拽

    前几天修改了系统的一个功能——实现树形列列表的行拖拽,以达到排序的目的.现在基本上功能实现,现做一个简单的总结. 1.拿到这个直接网上搜,有好多,但是看了后都觉得不是太复杂就是些不是特别想看的例子,自 ...

  4. EasyUi TreeGrid封装

    礼物一:树型实体的抽象与封装 所谓树型实体,就是具有树型结构关系的实体,比如省.市.区.对于初学者,可能会创建三张表进行存储,有经验的开发者通过引入ParentId将设计简化为一张表,但是基于Pare ...

  5. easy-ui treegrid 实现分页 并且添加自定义checkbox

    首先第一点easy-ui  treegrid 对分页没有好的实现, 因为在分页的过程中是按照 根节点来分页的  后台只能先按照 根节点做分页查询  再将子节点关联进去, 这样才能将treegrid 按 ...

  6. 数据网格和树-EasyUI Datagrid 数据网格、EasyUI Propertygrid 属性网格、EasyUI Tree 树、EasyUI Treegrid 树形网格

    EasyUI Datagrid 数据网格 扩展自 $.fn.panel.defaults.通过 $.fn.datagrid.defaults 重写默认的 defaults. 数据网格(datagrid ...

  7. EasyUI treegrid 加载checked

    EasyUI treegrid  加载checked $(function () { $('#tbDictContTree').treegrid({ title: '数据字典目录管理', iconCl ...

  8. 适用于zTree 、EasyUI tree、EasyUI treegrid

    #region          System.Text.StringBuilder b_appline = new System.Text.StringBuilder();        Syste ...

  9. 基于EasyUI Treegrid的权限管理资源列表

    1. 前言 最近在开发系统权限管理相关的功能,主要包含用户管理,资源管理,角色管理,组类别管理等小的模块.之前的Web开发中也用过jQueryEasyUI插件,感觉这款插件简单易用,上手很快.以前用到 ...

  10. easyui datebox 只选择月份的方法

    easyui datebox 只选择月份的方法 效果如下图: 代码如下: <html > <head> <meta charset="utf-8"&g ...

随机推荐

  1. retrofit2 上传图片

    直接上代码 接口请求代码 NewResultApi.modifyUserInfo(userModel.getUid(), userModel.getToken(), sex, intro, name, ...

  2. Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法

    由于Swift编程语言属于上层编程语言,而Swift中由于为了低层的高性能计算接口,所以往往需要C语言中的指针类型,由此,在Swift编程语言刚诞生的时候就有了UnsafePointer与Unsafe ...

  3. 高吞吐量的分布式发布订阅消息系统Kafka-- 管理工具 Kafka Manager

    一.概述 Kafka在雅虎内部被很多团队使用,媒体团队用它做实时分析流水线,可以处理高达20Gbps(压缩数据)的峰值带宽. 为了简化开发者和服务工程师维护Kafka集群的工作,构建了一个叫做Kafk ...

  4. npoi与memcached中的ICSharpCode.SharpZipLib版本冲突的解决方案

    项目中一直使用NPOI与memcached,一直相安无事,但是最近升级了npoi到最新版本,发生了ICSharpCode.SharpZipLib的版本冲突问题. 因为此前一直使用的是NPOI的1.x的 ...

  5. nginx lua获取客户端ip

    --获取客户端ip function get_client_ip() local headers=ngx.req.get_headers() local ip=headers["X-REAL ...

  6. U盘FAT32转换NTFS格式

    运行----cmd----convert x:/fs:ntfs回车 x标识你的U盘或硬盘盘符 比如你的U盘是H盘,那就是h:/fs:ntfs  FAT32----NTFS是不可逆转的转换.

  7. php 基础知识

    一.判断代码输出 $str1 = null; $str2 = false; echo $str1==$str2 ? '相等' : '不相等'; $str3 = ''; $str4 = 0; echo ...

  8. 学习Sass之安装Sass(一)

    为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE.JS而成为目前前后端统一开 ...

  9. ubuntu安装php mcrypt扩展

    1.安装扩展 sudo apt-get install php5-mcrypt 2.添加扩展配置文件 apt-get没有在/etc/php5/cli/conf.d/和/etc/php5/fpm/con ...

  10. Sqlserver添加或更新数据SQL

    Merge into [tableName] as t Using(select [@id] as tid) as t1 on t1.tid=t.id when matched then update ...