+ -
当前位置:首页 → 问答吧 → 关于Extjs树中选中一个节点,然后它的父节点和子节点全部被选中的问题

关于Extjs树中选中一个节点,然后它的父节点和子节点全部被选中的问题

时间:2010-12-04

来源:互联网

这几天在找关于Extjs树中选中一个节点,然后它的父节点和子节点全部被选中如何做,终于找到了一些例子但是也出现了些问题,如下所示:

JScript code

tree.on('checkchange', function(node, flag) {
                        // 获取所有子节点
                        node.cascade(function(node) {
                            node.attributes.checked = flag;
                            node.ui.checkbox.checked = flag;
//                            node.ui.toggleCheck(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.ui.toggleCheck(flag);

//                                pNode.ui.checkbox.toggleCheck(flag);
                                pNode.attributes.checked = flag;
                            }
                        }
                    });



让我很困惑的是用pNode.ui.checkbox.checked = flag;是可以实现这个功能但是会报错如下所示:
pNode.ui.checkbox is undefined
[在此错误处中断] pNode.ui.checkbox.checked = flag; 
如果使用pNode.ui.toggleCheck(flag);的话不但子节点和父节点被选中,而且其兄弟节点也会被选中(兄弟节点的子节点也会被选中),而且会报错如下:
pNode is null
[在此错误处中断] for (; pNode.id != "root"; pNode = pNode.parentNode) {
各位大大,哪位帮忙解决下问题

作者: shizheyiyi   发布时间: 2010-12-04

根节点id有错误

作者: marain724   发布时间: 2011-10-19

热门下载

更多