Extjs树节点选中问题

'checkchange': function(node, checked){
            setChildChecked(node,checked);
           setParentChecked(node,checked);
 }

function setChildChecked(node,checked){


        node.expand();


        node.set({checked:checked});


        if(node.hasChildNodes()){


            node.eachChild(function(child) {


                setChildChecked(child,checked);


            });


        }


    }


    function setParentChecked(node,checked){


        node.set({checked:checked});


        var parentNode = node.parentNode;


        if(parentNode !=null){


            var flag = false;


            parentNode.eachChild(function(child) {


                if(child.data.checked == true){


                    flag = true;


                }


            });


            if(checked == false){


                if(!flag){


                    setParentChecked(parentNode,checked);


                }


            }else{


                if(flag){


                    setParentChecked(parentNode,checked);


                }


            }


         }


    }

  效果:

posted @ 2014-03-04 17:55  王天泽博客  阅读(285)  评论(0编辑  收藏  举报