EasyUI为TreeGrid的已勾选节点,未勾选节点,只勾选部分子节点的父节点分别添加了三个不同的样式,如下:
样式一:tree-checkbox2 有子节点被选中
样式二:tree-checkbox1 节点被选中
样式三:tree-checkbox0 节点未选中

那么,我们就可以依据这三个样式分别取到所有已勾选的主键值了,为方便使用,我们写成TreeGrid的扩展方法,代码如下:

$.extend($.fn.treegrid.methods, {  
        //iscontains是否包含父节点(即子节点被选中时是否也取父节点)  
        getAllChecked: function (jq, iscontains) {  
            var keyValues = new Array();  
            /*
              tree-checkbox2 有子节点被选中的css
              tree-checkbox1 节点被选中的css
              tree-checkbox0 节点未选中的css
            */  
            var checkNodes = jq.treegrid("getPanel").find(".tree-checkbox1");  
            for (var i = 0; i < checkNodes.length; i++) {  
                var keyValue1 = $($(checkNodes[i]).closest('tr')[0]).attr("node-id");  
                keyValues.push(keyValue1);  
            }  
      
            if (iscontains) {  
                var childCheckNodes = jq.treegrid("getPanel").find(".tree-checkbox2");  
                for (var i = 0; i < childCheckNodes.length; i++) {  
                    var keyValue2 = $($(childCheckNodes[i]).closest('tr')[0]).attr("node-id");  
                    keyValues.push(keyValue2);  
                }  
            }  
      
            return keyValues;  
        }  
    });

调用方法:

var kv = $("#XXX").treegrid("getAllChecked", true);  
alert(kv);

另外,1.4.5版本以后的,提供如下几个方法:

var kv = $("#XXX").treegrid("getCheckedNodes");  获取勾选的节点  
    var kv = $("#XXX").treegrid("checkNode",id);  根据ID勾选节点  
    var kv = $("#XXX").treegrid("uncheckNode",id);  根据ID取消勾选节点

获取EasyUI的treegrid的checkbox所有已勾选的数据的更多相关文章

  1. jquery easyui datagrid 获取Checked选择行(勾选行)数据

    原文:jquery easyui datagrid 获取Checked选择行(勾选行)数据 getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录. getSel ...

  2. radio和checkbox的js勾选使用

    Html: <table> <tr><th class="w1">党内职务</th><td colspan="3&q ...

  3. Mac安装文件已勾选“允许任何来源”,还是提示“文件已损坏”的解决方案

    Mac安装文件已勾选"允许任何来源",还是提示"文件已损坏"的解决方案 打开终端,在终端中粘贴下面命令:[sudo xattr -r -d com.apple. ...

  4. jquery如何让checkbox如何取消勾选

    1.取消勾选 $("checkbox").attr("checked", false); 2.勾选 $("checkbox").attr(& ...

  5. input控件的checkbox属性自定义勾选框

    思路 首先隐藏input默认勾选框    通过绑定label标签,设置label的样式来设置勾选框 效果 在这里插入图片描述代码 # html中input的checkbox定义,使用for循环创建多个 ...

  6. JUQERY 获取同名称的所有CHECKBOX ,获取已经选择的,并且jquery进行勾选!

    var @(Perfix)_CheckArray=[]; @(Perfix)_CheckArray.length=0; var checkedItems = $('input[name="@ ...

  7. iview tree 之如何获取已勾选的节点

    1.记得添加 ref 2.用 this.$refs.tree.getCheckNodes()

  8. JAVASCRIPT实现翻页保存已勾选的项目

    <input type="checkbox" name="a" value="1" /><br/> <inpu ...

  9. Datagridview 中的checkbox 选中或勾选状态失效

    1.问题描述,先选中第一行,再取消选择,然后点击部门全选,第一行没有打钩,状态是不选中的状态. 2.分析代码 先选中第一行,单元格的单击事件中 改变选中状态为1,第一行取消选择,单元格的单击事件中 改 ...

随机推荐

  1. 基于 HTML5 Canvas 的 3D WebGL 机房创建

    对于 3D 机房来说,监控已经不是什么难事,不同的人有不同的做法,今天试着用 HT 写了一个基于 HTML5 的机房,发现果然 HT 简单好用.本例是将灯光.雾化以及 eye 的最大最小距离等等功能在 ...

  2. 做完小程序项目、老板给我加了5k薪资~

    大家好,我是苏南,今天要给大家分享的是最近公司做的一个小程序项目,过程中的一些好的总结和遇到的坑,希望能给其他攻城狮带来些许便利,更希望能做完之后老板给你加薪- 今天是中秋节的第一天,假日的清晨莫名的 ...

  3. CrackMe-005全破详解(图文+源码)--上篇

    逆向破解 | 逆向 | 逆向分析 | CrackMe | Crack | CrackMe5 | CrackMe05 前言 CrackMe005,都说比较变态,很多人给放过去了,但是我还是决定上了它,既 ...

  4. python基础学习笔记(九)

    python异常 python用异常对象(exception object)来表示异常情况.遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的 回溯(Traceback, 一种错误 ...

  5. zifutongji

    第三次作业要求我们自己写程序,我算我们班写的比较晚的了,我听他们写的都是在文件中写一段代码,然后读出来.我们班大部分都是,所以,我就想可不可以跟他们不一样呢,写一个属于自己的思路. 所以我想到了数组. ...

  6. Python学习笔记(三)——条件语句、循环语句

    注:需注意代码的缩进格式 注:需注意代码的缩进格式 注:需注意代码的缩进格式 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断.pyth ...

  7. book项目分析

    需求1:用户注册 需求如下: 1)访问注册页面 2)填写注册信息,提交给服务器 3)服务器应该保存用户 4)当用户已经存在----提示用户注册 失败,用户名已存在 5)当用户不存在-----注册成功 ...

  8. [2017BUAA软工]个人项目:数独

    一.项目地址 https://github.com/Slontia/Sudoku 附加作业(GUI):https://github.com/Slontia/SudokuGUI 二.开发时间 PSP2. ...

  9. node的router路由。

    使用router可以实现一个小型的express. router继承了大部分的app = express()的方法. 使用router可以工程化管理项目.router使用以后app只能在最开始去存在. ...

  10. HAProxy+keepalived+MySQL 实现MHA中slave集群负载均衡的高可用

    HAProxy+keepalived+MySQL实现MHA中slave集群的负载均衡的高可用 Ip地址划分: 240    mysql_b2 242    mysql_b1 247    haprox ...