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

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

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

show方法如下:

  1. function show(checkid) {
  2. var s = '#check_' + checkid;
  3. //alert( $(s).attr("id"));
  4. // alert($(s)[0].checked);
  5. /*选子节点*/
  6. var nodes = $("#EntityTree").treegrid("getChildren", checkid);
  7. for (i = 0; i < nodes.length; i++) {
  8. $(('#check_' + nodes[i].ID))[0].checked = $(s)[0].checked;
  9.  
  10. }
  11. //选上级节点
  12. if (!$(s)[0].checked) {
  13. var parent = $("#EntityTree").treegrid("getParent", checkid);
  14. $(('#check_' + parent.ID))[0].checked = false;
  15. while (parent) {
  16. parent = $("#EntityTree").treegrid("getParent", parent.ID);
  17. $(('#check_' + parent.ID))[0].checked = false;
  18. }
  19. } else {
  20. var parent = $("#EntityTree").treegrid("getParent", checkid);
  21. var flag = true;
  22. var sons = parent.sondata.split(',');
  23. for (j = 0; j < sons.length; j++) {
  24. if (!$(('#check_' + sons[j]))[0].checked) {
  25. flag = false;
  26. break;
  27. }
  28. }
  29. if (flag)
  30. $(('#check_' + parent.ID))[0].checked = true;
  31. while (flag) {
  32. parent = $("#EntityTree").treegrid("getParent", parent.ID);
  33. if (parent) {
  34. sons = parent.sondata.split(',');
  35. for (j = 0; j < sons.length; j++) {
  36. if (!$(('#check_' + sons[j]))[0].checked) {
  37. flag = false;
  38. break;
  39. }
  40. }
  41. }
  42. if (flag)
  43. $(('#check_' + parent.ID))[0].checked = true;
  44. }
  45. }
  46. }

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. NVelocity-0.4.2.8580 的修改记录[发个vs2008能用的版本] -- "It appears that no class was specified as the ResourceManager..." bug 修正等

    因为另有开发记录工具最新没怎么在 cnblog 写开发备忘.不过我觉得这个是个比较严重的问题,觉得有必要让更多的人知道处理方法,所以在 cnblog 也放上一篇希望广为传播. 因为现在网络上vs200 ...

  2. Xcode 8 新特性

    在2016 苹果全球开发者大会(WWDC)期间, 苹果一如既往地给开发者们披露了新版的集成开发工具 – Xcode, 在过去的每一次大版本发布中,苹果都会积极地改进开发工具,添加一些极具吸引力的新功能 ...

  3. Haproxy配置支持https获取用户IP地址

    global log 127.0.0.1 local0 chroot /var/lib/haproxy #chroot运行路径 pidfile /var/run/haproxy.pid #haprox ...

  4. CREATE A LOADING SCENE / SPLASH SCREEN - UNITY

    In the first scene or maybe the Main Menu scene of your game Create an Empty Gameobject. Call it wha ...

  5. 配置Pylint for Python3.5

    事件的缘由是因为在Ubuntu16.04 下面安装了Visual Studio Code, 再编辑的时候说需要Pylint来检查语法,我系统的默认的Python 版本是python2,而我现在正在学习 ...

  6. 在多线程环境中使用CoreData

    在多线程环境中使用CoreData BY 子非鱼 · 2014 年 10 月 13 日   上回书说道,其实CoreData学起来也没有很复杂,我们其实增删改查都和别的ORM大同小异.但是世界总是很复 ...

  7. Android NDK中的C++调试踩坑标记

    RT, Android NDK中的C++调试, GDB调试比较麻烦,在ADT Eclipse中: 1.配置好NDK给工程加上Native Support 2.编译中加上NDK_DEBUG=1 3.然后 ...

  8. Frogger(floyd变形)

    Frogger Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Stat ...

  9. SQL优化方案

    1:建立中间表,将步骤分解. 2:避免全字段查询,只查需要的字段 3:限定条件查询,避免先关联后写条件, --优化交货数据  --建临时表T_JHinfo  select A.VBELN,C.VBEL ...

  10. H5+CSS3实现手指滑动切换图片

    包含3个文件:html.slider-H5.js.jquery.js(自行下载).在html中可配置滑动参数.具体代码如下: HTML代码: <!DOCTYPE HTML> <htm ...