extjs异步生成树,点击一级子节点,并使一级子节点和下属的二级子节点的checkbox默认都选中,请帮帮忙
if(!loader){loader=newExt.tree.TreeLoader({url:showpath});loader.on('beforeload',func...
if(!loader){
loader = new Ext.tree.TreeLoader({
url : showpath
});
loader.on('beforeload', function(treeloader, node) {
treeloader.baseParams = {
id : node.id,
method : 'tree'
};
}, this);
}
是异步像数据库发的请求 展开
loader = new Ext.tree.TreeLoader({
url : showpath
});
loader.on('beforeload', function(treeloader, node) {
treeloader.baseParams = {
id : node.id,
method : 'tree'
};
}, this);
}
是异步像数据库发的请求 展开
1个回答
展开全部
//这个方法是选择父节点,自动选中所有的子节点
function selParent(node, checked) {
checked ? node.expand() : node.collapse();
if (node.hasChildNodes()) {
node.eachChild(function(child) {
child.attributes.checked = checked;
var cb = child.ui.checkbox;
if (cb)
{
cb.checked = checked;
}
selParent(child, checked);
});
}
}
//这个方法是选择子节点,自动选中父节点的父节点
function selChild(node, checked) {
if (checked) {
node.expand();
var parentNode = node.parentNode;
if (parentNode != undefined) {
parentNode.attributes.checked = checked;
var cb = parentNode.ui.checkbox;
if (cb)
{
cb.checked = checked;
}
selChild(parentNode, checked);
}
}
}
tree.on('checkchange', function(node, checked){
selParent(node, checked);
selChild(node, checked);
},tree);
网上的例子 ,很好用,缺点是在加载异步树的时候没有加载的节点,不能被选中。你可以参考修改一下。
function selParent(node, checked) {
checked ? node.expand() : node.collapse();
if (node.hasChildNodes()) {
node.eachChild(function(child) {
child.attributes.checked = checked;
var cb = child.ui.checkbox;
if (cb)
{
cb.checked = checked;
}
selParent(child, checked);
});
}
}
//这个方法是选择子节点,自动选中父节点的父节点
function selChild(node, checked) {
if (checked) {
node.expand();
var parentNode = node.parentNode;
if (parentNode != undefined) {
parentNode.attributes.checked = checked;
var cb = parentNode.ui.checkbox;
if (cb)
{
cb.checked = checked;
}
selChild(parentNode, checked);
}
}
}
tree.on('checkchange', function(node, checked){
selParent(node, checked);
selChild(node, checked);
},tree);
网上的例子 ,很好用,缺点是在加载异步树的时候没有加载的节点,不能被选中。你可以参考修改一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询