博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
easyui的treegrid的级联勾选子节点,或者级联勾选父节点
阅读量:6479 次
发布时间:2019-06-23

本文共 2778 字,大约阅读时间需要 9 分钟。

级联勾选子节点:

第一种:级联勾选子节点(父节点级联子节点)

步骤:

1.在treegrid的onCheck(选中)事件中写上函数(级联勾选子节点):

onCheck : function(row){        t = $(this);        opts = t.treegrid("options");        if (opts.checkOnSelect && opts.singleSelect) { return; }        var idField = opts.idField, id = row[idField], children, checked, parent = row;        //如果当前节点被勾选,那么勾选该节点的子节点        $.each(t.treegrid("getChildren", id), function (i, n) {             if (!t.treegrid("isChecked", n[idField])) { t.treegrid("check", n[idField]); }        });},

2.在onUncheck(取消选中)事件中写上函数(级联取消勾选子节点):

t = $(this);    opts = t.treegrid("options");    if (opts.checkOnSelect && opts.singleSelect) { return; }    var idField = opts.idField, id = row[idField], children, checked, parent = t.treegrid("getParent", id);    $.each(t.treegrid("getChildren", id), function (i, n) {    t.treegrid("uncheck", n[idField]);});

第二种:级联勾选父节点(子节点级联父节点)

onCheck事件:

onCheck : function(row){            t = $(this);            opts = t.treegrid("options");            if (opts.checkOnSelect && opts.singleSelect) { return; }            var idField = opts.idField, id = row[idField], children, checked, parent = t.treegrid("getParent", id);            while (parent) {                    children = t.treegrid("getChildren", parent[idField]);                    checked = t.treegrid("getChecked");                    if (!$.array.some(children, function (val) { return !$.array.contains(checked, val); })) {                        if (!t.treegrid("isChecked", parent[idField])) { t.treegrid("check", parent[idField]); }                    }                    parent = t.treegrid("getParent", parent[idField]);             }             $.each(t.treegrid("getChildren", id), function (i, n) {                    //如果子节点没有勾选,那么勾选子节点                    if (!t.treegrid("isChecked", n[idField])) { t.treegrid("check", n[idField]); }             });}

onUncheck事件:

onUncheck:function(row){            t = $(this);            opts = t.treegrid("options");            if (opts.checkOnSelect && opts.singleSelect) { return; }            var idField = opts.idField, id = row[idField], children, checked, parent = t.treegrid("getParent", id);            while (parent) {                    children = t.treegrid("getChildren", parent[idField]);                    checked = t.treegrid("getChecked");                    if (!$.array.some(children, function (val) { return $.array.contains(checked, val); })) {                        if (t.treegrid("isChecked", parent[idField])) { t.treegrid("uncheck", parent[idField]); }                    }                    parent = t.treegrid("getParent", parent[idField]);             }             $.each(t.treegrid("getChildren", id), function (i, n) {                    t.treegrid("uncheck", n[idField]);             });}

转载地址:http://zawuo.baihongyu.com/

你可能感兴趣的文章
There are two ways for Datatable download as excel
查看>>
TextBox客户端JS赋值 后台获取(转载)
查看>>
Yii2的深入学习--行为Behavior
查看>>
SQL Server 之 事务与隔离级别实例讲解
查看>>
PCA误差
查看>>
烦人的数据不一致问题到底怎么解决?——通过“共识”达成数据一致性
查看>>
WPFの获取任意元素的位置
查看>>
WPF的TextBox产生内存泄露的情况
查看>>
RAMPS1.4 3d打印控制板接线与测试1
查看>>
PS 多次剪裁同一图片
查看>>
MusicXML 3.0 (2) - 调号
查看>>
黑科技揭秘:眼科大夫如何应用5G+8K完成远程会诊?
查看>>
从零搭建webpack前端类库脚手架[3]-强悍的babel
查看>>
[LeetCode/LintCode] Is Subsequence
查看>>
javascript cookie的传统用法,用cookie做一个记住用户名的小功能
查看>>
面试官!让我们聊聊正则
查看>>
厚颜无耻的免费使用Visio和project2016
查看>>
数组去重方法小结
查看>>
Async 函数的使用及简单实现
查看>>
Android开源库的制作
查看>>