zoukankan      html  css  js  c++  java
  • easyui-treegrid节点选择

    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;
                    }
                }
            }
  • 相关阅读:
    线性关系和相关系数
    CSS中的display:inlineblock
    SQL Server中常用的SQL语句
    Access SQL中Left Join、Right Join和Inner Join的使用
    PHP合并静态文件
    PHP中的include功能
    CSS背景图片居中的细节
    IIS Web服务扩展中添加ASP.NET4.0
    修改SQL server数据库中的逻辑文件名
    在SQL Server中,不使用“SQL 邮件”的情况下发送邮件
  • 原文地址:https://www.cnblogs.com/xiangzhong/p/5038657.html
Copyright © 2011-2022 走看看