- 选择父节点,所有子节点也被选中
tree.on('checkchange',function(node,flag){
node.expand();
node.attributes.checked=flag;
//所有子节点被选中
node.eachChild(function(child){
child.ui.toggleCheck(flag);
child.attributes.checked=flag;
child.fireEvent('checkchange',child,flag);
});
},tree);
- 选择子节点,父节点也被选中
tree.on('checkchange', function(node, flag) {
if(node.parentNode.id!='root'){//判断是否是root节点
//如果该节点的父节点和子节点被选中继续选中
if(flag||tree.getChecked(id,node.parentNode)==""){
node.parentNode.ui.toggleCheck(flag);
node.parentNode.attributes.checked=flag;
node.parentNode.fireEvent('checkchange',node.parentNode,flag);//递归调用
}
}
}, tree);
- 前面两点都是在网上找的资源,最后这一点,只是把上面的结合一下就实现了:父子节点联动
tree.on('checkchange',function(){
if(node.hasChildNodes()){
node.cascade(function(node){
node.attributes.checked=flag;
node.ui.checkbox.checked=flag;
return true;
});
var pNode = node.parentNode;
for(;pNode.id!='root';pNode=pNode.parentNode){
if(flag|| tree.getChecked(id,node.parentNode)==""){
pNode.ui.checkbox.checked=flag;
pNode.attributes.checked=false;
}
}
}else{
if(flag&&node.parentNode.id!='root'){
node.parentNode.ui.checkbox.checked=flag;
node.parentNode.attributes.checked=false;
}else{
node.ui.checkbox.checked=flag;
node.attributes.checked=flag;
}
}
});
-
总结说明:因为项目中用到ExtJS的tree,而我又负责这个树,所以结合网上的资料和自己项目中具体情况,调试修改得到第三点。仅是为了防止遗忘,方便以后查阅。——好脑瓜,不如烂笔头!
相关推荐
语言程序设计资料:ExtJs学习笔记-2积分.doc
Extjs4---combobox省市区三级联动+struts2
分享一个ExtJs Tree, 完整的带有复选框的树形结构
对爱好extjs的开发者有帮助,提供中文api文档,及常用的方法!
基于EXTjs 的 动态复选框树 json数据交互
extjs-theme-bootstrap-master.zip
ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 ...
NULL 博文链接:https://lucky16.iteye.com/blog/1522254
ExtJS是一个Ajax框架,是一个用javascript写的,用于在客户端创建丰富多 彩的web应用程序界面。主要是企业信息化软件,网站后台等。ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写 的,主要用于...
Extjs4.0学习笔记,以下是部分介绍: xtjs4,创建Ext组件有了新的方式,就是Ext.create(....),而且可以使用动态加载JS的方式来加快组件的渲染,我们再也不必一次加载已经达到1MB的ext-all.js了,本文介绍如何在EXTJS4...
extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档
extjs4.1下拉复选框完整DEMO,包含了extjs4.1主文件,代码实现了动态加载功能,所以需要配置IIS或者apache。插件文件在ux目录下,请自行参考。
1、解压,进入extjs4.2.1\examples\form,浏览器打开 hbox-form.html 文件,当我勾选中任意一个多选下拉框,然后再勾选‘ALL’时,‘ALL’却是不被选中的状态,且...extjs4.2.1\examples\form\MultipleComboBox.js
NULL 博文链接:https://lucky16.iteye.com/blog/1490278
extjs2----关于extjs 的使用,操作.比较初级,但是也比较使用。适合初步接触extjs的朋友
extjs 如图,实现带有复选框的树,选中父节点时,选中所有子节点。取消所有子节点时,才能取消根节点。 代码如下: var Fpanel = new Ext.tree.TreePanel({ id:’ptree’, region:’west’, layout:’anchor’, border...
ExtJS----HelloWorld程序源码
ExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.doc
NULL 博文链接:https://chenxueyong.iteye.com/blog/336117