沉睡森林@漂在北京

          本處文章除注明“轉(zhuǎn)載”外均為原創(chuàng),轉(zhuǎn)載請注明出處。

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            152 隨筆 :: 4 文章 :: 114 評論 :: 0 Trackbacks
          下面是html代碼:
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
          <title>Reorder TreePanel</title>
          <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />

              
          <!-- GC -->
               
          <!-- LIBS -->
               
          <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
               
          <!-- ENDLIBS -->

              
          <script type="text/javascript" src="../../ext-all.js"></script>
           
          </head>
          <body>
          <script>
              

          function lookupNode(_root,id){
              
          if(_root){
                  
          var treeId = _root.attributes['id'];
                  
          if(id == treeId){
                      
          return _root;
                  }
                  
          var nodes = _root.childNodes;
                  
          if(nodes.length==0){
                       
          return null;
                  }
                  
          for(var i=0; i<nodes.length; i++){
                      
          if(nodes[i]!=null){
                          
          return lookupNode(nodes[i],id);
                      }
                  }
              }
          }
              
          Ext.BLANK_IMAGE_URL 
          = 'http://localhost:8080/greatwall/script/ext/resources/images/default/s.gif';
          function insertTreeNode(root,pid,nodeConfig){
              
          var pNode = lookupNode(root,pid);
              alert('pNode
          =>'+pNode);
              
              
          if(pNode == null){
                  root.appendChild(
          new Ext.tree.TreeNode(nodeConfig));
              }
          else{
                  pNode.appendChild(
          new Ext.tree.TreeNode(nodeConfig));
              }
          }

          var pWinCmpId = null;


          Ext.onReady(
          function() {

          Ext.QuickTips.init();
          Ext.form.Field.prototype.msgTarget 
          = 'qtip';


          /******************下面開始Body內(nèi)JavaScript代碼輸出************************/


          function treeClick(node, e){
              
          }

          var sysFunClassTree_root = new Ext.tree.TreeNode({text: "Autos",draggable: false,id: "source"});
          insertTreeNode(sysFunClassTree_root,'',{
          "text":"Form控件","leaf":false,"id":"A00001"});
          insertTreeNode(sysFunClassTree_root,'A00001',{
          "text":"checkbox控件","pid":"A00001",id:"000A01","leaf":false});
          insertTreeNode(sysFunClassTree_root,'A00001',{
          "text":"comboBox控件","pid":"A00001",id:"000B01","leaf":false});
          insertTreeNode(sysFunClassTree_root,'000B01',{
          "text":"radio控件","pid":"000B01",id:"000C01","leaf":false});
          insertTreeNode(sysFunClassTree_root,'000C01',{
          "text":"radio控件222","pid":"000C01",id:"000C01x","leaf":true});
           
           
          var sysFunClassTree = new Ext.tree.TreePanel({
            border: 
          true,
            root: sysFunClassTree_root, rootVisible: 
          true,
            name:'sysFunClassTree',region:'center',width:
          250,nodename:'tree',pidname:'pid',idname:'id',textname:'text',dataXml:'/tagsdemo/tree/data.xml',id:'sysFunClassTree'
          });
           
          sysFunClassTree.on(
          "click", treeClick);

          var viewport_cdb32ddef82f42e3a11d965320b7d09e = new Ext.Viewport({
            layout:'border',
            items:[sysFunClassTree]
          });

          sysFunClassTree_root.expand();
           

           

          /******************Body內(nèi)JavaScript代碼輸出結(jié)束************************/
          });
          </script>

          <div id="divTree"></div>
          </body>
          </html>

          問題很簡單,希望可以利用id獲取到對應(yīng)的node。這個(gè)很多樹菜單都實(shí)現(xiàn)了接口,但是ext好像沒有,難道需要自己寫遍歷?

          修改后代碼如下:對遍歷函數(shù)處理了一下,樹菜單顯示正常。
          function lookupNode(_root,id){
              
          if(_root){
                  
          var treeId = _root.attributes['id'];
                  
          if(id == treeId){
                      
          return _root;
                  }
                  
          var nodes = _root.childNodes;
                  
          if(nodes.length==0){
                       
          return null;
                  }
                  
          for(var i=0; i<nodes.length; i++){
                      
          if(nodes[i]!=null){
                          
          var xx = lookupNode(nodes[i],id);
                      }
                  }
                  
          return xx;
              }
          }

          posted on 2009-06-11 20:35 王總兵 閱讀(317) 評論(0)  編輯  收藏 所屬分類: Ext
          主站蜘蛛池模板: 巢湖市| 北海市| 丰台区| 安国市| 富源县| 合川市| 黄浦区| 平陆县| 东源县| 威信县| 沿河| 保靖县| 望城县| 沐川县| 彭山县| 贞丰县| 湟源县| 台湾省| 井陉县| 色达县| 翁源县| 水富县| 万州区| 江津市| 石首市| 左权县| 恭城| 永新县| 塘沽区| 获嘉县| 彩票| 深圳市| 志丹县| 吕梁市| 潢川县| 和平县| 资中县| 浦县| 郁南县| 察雅县| 迭部县|