看了几篇对extjs4 check树级联选择的文章,用的时候或多或少存在bug,就在部分代码的基础上自己升级改造了一下
。
checkchange : function(node, checked) {
//父节点的选中与取消
if (checked == true) {
node.checked = checked;
pNode = node.parentNode;
//通过循环将所有父节点选中
for (; pNode != null; pNode = pNode.parentNode) {
pNode.set("checked", true);
}
}
else{//提示:当所有子节点取消父节点才能取消
node.checked = checked;
pNode = node.parentNode;
var flag=false;
for (; pNode != null; pNode = pNode.parentNode) {
var children=pNode.childNodes;
Ext.Array.each(children, function(node,index,fog) {
if(node.get('checked')){
//同级节点还有选中的
flag=true;
}
});
//如果同级节点还有选中的,那么跳出循环
if(flag){
break;
}else{
pNode.set("checked", false);
}
}
}
//当该节点有子节点时,将所有子节点选中取消
if (!node.get("leaf") && !checked){
node.cascade(function(node){
node.set('checked', false);
});
}else if(!node.get("leaf") && checked){
node.cascade(function(node){
node.set('checked', true);
});
}
}
}
分享到:
相关推荐
说明:本例主要实现在树节点数据过多的情况下对数据进行异步请求,并且在请求数据返回前台的同时实现级联选择。使用ExtJs版本为4.1.1a,在struts2下测试通过。例子仅供提供思路,简单易懂,不负责代码优化,哈哈!
在ExtJS库中,Tree组件允许我们展示和操作数据以树形结构显示,而级联选择功能则意味着当用户选择一个节点时,它的所有子节点也会被自动选中,反之亦然,如果取消选中父节点,其所有子节点也将被取消选中。...
在这个特定的情况下,我们讨论的是一个定制的下拉树菜单控件——ComboBoxTree,它在ExtJS4中实现了单选和多选功能,并且具备展开选中指定节点的能力。这个控件在实际项目中已经被广泛使用并证明了其稳定性和实用性,...
TreePanel继承自Panel,在ExtJS中使用树控件含有丰富的属性和方法实现复杂的功能。其中Ext.tree.TreeNode代表一个树节点,比较常用的属性包括text、id、icon、checked等、异步树Ext.tree.AsyncTreeNode、树加载器Ext...
"带复选框的树"是ExtJS中的TreePanel组件的一个扩展,允许用户通过复选框选择树结构中的节点。这种功能在数据层级结构的管理和筛选中非常有用,例如在组织架构、文件系统或者权限设置中。 复选框树的核心在于`...
当树形组件结合复选框时,可以实现用户对节点的选择操作,如全选、反选、子选父以及父选子。这些功能在数据管理、权限分配等场景中非常实用。 首先,我们要理解ExtJS树形组件的基本构造。一个树形组件由节点(Nodes...
使用extjs+ibatis+spring+struts开发的权限系统 数据库mysql 数据库文件在开发文档目录下 动态树形菜单的加载 ,用户角色权限菜单的维护 jar文件删了一些,需要用的自己加包
EXTJS的`Ext.selection.CheckboxModel`(或简写为`checkboxSelection`)提供了复选框选择模型,用于表格(grid)和其他组件,使得用户可以通过复选框进行多项选择。全选功能通常通过添加一个特殊的复选框来实现,该...
级联选择(Cascading Selection)则是指当用户选中一个节点时,其所有子节点都会自动被选中,反之,如果取消选中父节点,所有子节点也会随之被取消选中。这种功能在组织结构、文件系统或权限管理等场景下非常有用。 ...
总的来说,这个EXTJS4的下拉树组件实现了树形结构的选择,允许用户多选或复选节点。通过自定义事件和方法,我们可以灵活地控制树的显示和用户交互,使其适应项目的具体需求。在实际开发中,可以将此组件引入到你的...
在本文中,我们将探讨如何实现ExtJS动态树以及其中的节点拖拽功能。动态树是一种能够实时更新和修改的树形结构,允许用户添加、删除和移动节点。这种功能在各种应用场景中非常有用,如文件系统、组织结构或层级数据...
### ExtJs4 实现下拉树选择框 ComboTree #### 概述 在现代Web应用开发中,ExtJS 是一个非常强大的JavaScript库,用于构建复杂的客户端应用程序。它提供了丰富的组件库,使得开发者能够轻松地创建出功能丰富且交互性...
同时,还需要配置`mode`为`EXTJS4`特有的`EXTJS4`模式,以启用树结构的多选功能。 3. **数据源与模型** 数据源通常通过`store`属性指定,可以是本地数据或者远程加载的数据。对于树形结构,需要使用`TreeStore`,...
ExtJS 4 下拉树(TreeCombo)是一种组合控件,它将传统的下拉框与树形结构结合在一起,提供了一种在有限空间内展示层级数据的高效方式。这种控件在很多场合都非常实用,例如在需要用户选择分类或者层级结构的场景中...
在给定的文件中,我们关注的是“带复选框的ExtJS tree”这一主题,这涉及到ExtJS框架下的树形组件(TreePanel)如何与复选框结合,为用户提供更为灵活的数据选择和管理方式。 ### 标题解析:“带复选框的ExtJS tree...
extJs4 ComboBox 代码组合框实例,ComboBox 各个主要参数详细解释
1. **树形数据结构**:EXTJS的树形控件基于JavaScript对象数组构建,每个节点代表一个对象,包含子节点、文本、图标等属性。例如,`{text: '节点1', children: [{text: '子节点1'}, {text: '子节点2'}]}`。 2. **...
ExtJS ComboBox级联是一种在Web应用中常见的交互方式,它允许用户从下拉列表中选择一个值,并且这个选择会影响到另一个ComboBox的选择项,通常用于表示层级关系的数据,比如省份-城市-区县。这种功能在数据筛选、...
在本篇文章中,我们将深入探讨如何在ExtJS框架中获取TreePanel中所有被选中(checked)的叶子节点的ID。此技术对于处理复杂的数据结构、优化用户交互体验以及实现高效的数据管理至关重要。 ### 一、ExtJS简介 ...