Ext.onReady(function() {
var tempstore = Ext.create('Ext.data.TreeStore', {
root : {
text : '权限列表',
checked : false,//dxuodate
expanded : true,
children:[
{
text:"节点一"
,checked:false
,leaf:true
},
{
text:"节点二"
,checked:false
,leaf:true
},
{
text:"节点三"
,checked:false
,leaf:true
}]
}
});
var tempTree = Ext.create('Ext.tree.Panel', {
id : 'tempTree',
width : 410,
height : 250,
autoScroll : true,
store : tempstore,
rootVisible : true,
useArrows : true,
iconCls : 'none',
renderTo : Ext.getBody(),
listeners : {
checkchange : function(node, checked) {
var _isexpanded = node.isExpanded();
if (node.childNodes && node.childNodes.length > 0) {
if (true == checked) {
node.eachChild(function(n) {
n.data.checked = true;
n.updateInfo( {
checked : true
});
});
} else {
node.eachChild(function(n) {
n.data.checked = false;
n.updateInfo( {
checked : false
});
});
}
}
//dxuodate
if (node.data.checked && node.parentNode!=null) {
node.parentNode.data.checked = true;
node.parentNode.updateInfo({checked : true});
}
//判断子选项是佛选中
var childHasChecked=function(node){
var childNodes=node.childNodes;
if(childNodes || childNodes.length>0){
for(var i=0;i<childNodes.length;i++){
if(childNodes[i].getUI().checkbox.checked){
return false;
}
}
return true;
}
};
if(childHasChecked){
node.data.checked = false;
node.updateInfo({checked : false});
}
}
}
});
});
1父节点选中,子节点全部选中,2子节点一个选中,父节点勾选,
3求教如何做到子节点全部取消掉勾选父节点的勾也要取消掉(三级节点)
谢谢了
var tempstore = Ext.create('Ext.data.TreeStore', {
root : {
text : '权限列表',
checked : false,//dxuodate
expanded : true,
children:[
{
text:"节点一"
,checked:false
,leaf:true
},
{
text:"节点二"
,checked:false
,leaf:true
},
{
text:"节点三"
,checked:false
,leaf:true
}]
}
});
var tempTree = Ext.create('Ext.tree.Panel', {
id : 'tempTree',
width : 410,
height : 250,
autoScroll : true,
store : tempstore,
rootVisible : true,
useArrows : true,
iconCls : 'none',
renderTo : Ext.getBody(),
listeners : {
checkchange : function(node, checked) {
var _isexpanded = node.isExpanded();
if (node.childNodes && node.childNodes.length > 0) {
if (true == checked) {
node.eachChild(function(n) {
n.data.checked = true;
n.updateInfo( {
checked : true
});
});
} else {
node.eachChild(function(n) {
n.data.checked = false;
n.updateInfo( {
checked : false
});
});
}
}
//dxuodate
if (node.data.checked && node.parentNode!=null) {
node.parentNode.data.checked = true;
node.parentNode.updateInfo({checked : true});
}
//判断子选项是佛选中
var childHasChecked=function(node){
var childNodes=node.childNodes;
if(childNodes || childNodes.length>0){
for(var i=0;i<childNodes.length;i++){
if(childNodes[i].getUI().checkbox.checked){
return false;
}
}
return true;
}
};
if(childHasChecked){
node.data.checked = false;
node.updateInfo({checked : false});
}
}
}
});
});
1父节点选中,子节点全部选中,2子节点一个选中,父节点勾选,
3求教如何做到子节点全部取消掉勾选父节点的勾也要取消掉(三级节点)
谢谢了
解决方案 »
- js与jquery冲突
- 如何写一个用来生成XML文件的JavaScript
- js 网上购物的商品数量
- 我的这段代码在FF 下无法执行
- 请各位高手指点,NET组件与javaScript脚本如何交互的
- 请问javascript中如何判断限制某个输入筐的字数不能超过一个数。
- 向高手求救:如何得到一张表的行数和列数!!
- 关于Javascript加密的问题
- :急救:如何将阿拉伯数字转换成中文大写,如:'1228008.98' 转换为 '壹佰贰拾贰万扒仟零扒圆玖角扒分'各位大虾给看看,一定给分!! 之继续
- 请问:那里能找到IE的WINDOW对象(包括子对象)的中文的完全说明?谢谢!
- 关于ExtJS中TreeLoader或Store请求问题
- 这段js代码什么意思,可以得到一个的地址吗
store: tree_update_store,
multiSelect: true,
rootVisible: false,
checkModel:'multiple',
onlyLeafCheckable:false,
useArrows: true,
frame: true,
width: 300,
height: 170,
listeners : {
checkchange : function(node, checked) {
var _isexpanded = node.isExpanded();
getChildNodes(node, checked);
getParentNodes(node, checked);
tree.getRootNode().data.checked = false;
}
}
});
//级联子节点
function getChildNodes(node, checked){
if (node.childNodes && node.childNodes.length > 0) {
if (true == checked) {
node.eachChild(function(n) {
n.data.checked = true;
n.updateInfo({
checked : true
});
getChildNodes(n, checked);
});
} else {
node.eachChild(function(n) {
n.data.checked = false;
n.updateInfo({
checked : false
});
getChildNodes(n, checked);
});
}
}
};//级联父节点
function getParentNodes(node, checked){
if (node.parentNode != null) {
if (true == checked){
node.parentNode.data.checked = true;
node.parentNode.updateInfo({checked : true});
getParentNodes(node.parentNode, checked);
} else {
var flag = true;
node.parentNode.eachChild(function(n) {
if (n.data.checked){
flag = false;
}
});
if (flag){
node.parentNode.data.checked = false;
node.parentNode.updateInfo({checked : false});
getParentNodes(node.parentNode, checked);
}
}
}
};