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;
}
}
}

最新文章

  1. HTML DOM Event 对象
  2. 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
  3. RabbitMQ的work queue(2)
  4. ebtables hook
  5. 通过MD5排除重复文件
  6. 国内的maven镜像
  7. c# ICSharpCode.SharpZipLib.Zip实现文件的压缩
  8. 挂载nfs系统问题之: Root-NFS: Server returned error -13 while mounting
  9. oracle中查找执行效率低下的SQL
  10. Indenting source code
  11. crossdomain 可用
  12. 微软BI 之SSIS 系列 - 在 SSIS 中将指定目录下的所有文件分类输出到不同文件夹
  13. openvas开放式漏洞评估系统
  14. sqlserver 查看当前连接数
  15. bzoj千题计划193:bzoj2460: [BeiJing2011]元素
  16. Command /usr/sbin/chown failed with exit code 1?
  17. hdu-1849-nim模板
  18. 安装vue后报错 bash: vue: command not found
  19. 【前端vue开发】vue子调父 $emit (把子组件的数据传给父组件)
  20. 【明哥报错簿】之 mybatis异常invalid comparison: java.util.Date and java.lang.String

热门文章

  1. Scala 深入浅出实战经典 第62讲:Scala中上下文界定内幕中的隐式参数实战详解
  2. 调用axis2开发的接口遇到的问题
  3. Django 源码小剖: Django ORM 查询管理器
  4. Console中加入招聘等个性化信息
  5. Promise 使用心得
  6. ORACLE自定义顺序排序-转
  7. A Year Of Books - 2016 Javaer书单
  8. C++中实现回调机制的几种方式[转]
  9. oracle create table(转)
  10. hessian入门