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);
}
是异步像数据库发的请求
展开
 我来答
jcapricorn
2011-12-05 · 超过35用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:105万
展开全部
//这个方法是选择父节点,自动选中所有的子节点
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);
网上的例子 ,很好用,缺点是在加载异步树的时候没有加载的节点,不能被选中。你可以参考修改一下。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式