2

私はZendフレームワークを初めて使用し、dojo.iはzendフレームワークでdojoを使用して動的ツリー構造を作成しましたが、各フォルダーとツリー構造の要素をクリックして、関数を記述して別のフォームに移動したいと考えています。私のコードを確認してください助けてください私はクリックイベントリンクでいくつかの道場を通り抜けましたが、解決できませんでした..

    <html>
    <head>
    <title> Tree Structure </title>
    <link rel="stylesheet"    href=/dojo/dijit/themes/ claro/claro.css" /> 
    <script type="text/javascript" src="/ dojo/dojo/dojo.js" 
         djConfig="parseOnLoad:true, isDebug:true"  >
       </script> 

   <script type="text/javascript">
   dojo.require("dojo.parser");
   dojo.require("dijit.layout.ContentPane");
   dojo.require("dijit.layout.BorderContainer");
   dojo.require("dijit.layout.TabContainer")
   dojo.require("dijit.form.Button");
   dojo.require("dojo.data.ItemFileReadStore"); 
   dojo.require("dijit.tree.ForestStoreModel");
   dojo.require("dijit.Tree"); 
   dojo.require("dojo.parser"); 
  function myTree( domLocation ) { 
  var store = new dojo.data.ItemFileReadStore({url:    "http://localhost/CMTaSS_module1.0/public/dojo/cbtree/datastore/Family-1.7.json"}); 

 var treeModel = new dijit.tree.TreeStoreModel({
         store: store,
         query: { name:'John'}
        });

  var tree =  new dijit.Tree( { 
             model: treeModel, 
            id: "mytree",
           openOnClick: true
                   }); 
                    tree.placeAt( domLocation );
                } 
var tree_obj = new dijit.Tree({
    model: treeModel

 },
  "tree_obj");

 dojo.connect(tree_obj, 'onClick', function(item, node, evt){
     console.log("Item", item);
     console.log("Node", node);
     console.log("Event", evt);
     //console.log('node: ' +tree_obj.getLabel(node));
     //console.log('event: ' +tree_obj.getLabel(evt));
     console.log('identifier: ' + tree_obj.getLabel(item))
  });

</script>

</head>
 <body class="claro"><br><br><br>
 <div id="CheckboxTree"> 
  <script type="text/javascript"> 
     myTree("CheckboxTree"); 
   </script> 
 </div> 
</body>
</html> 
4

1 に答える 1

0

一部のロジックが myTree 関数の外にあるため、コード サンプルが正しくフォーマットされていないようです。これを確認するために jsbeautifier.org を使用しました。

その他の注意事項... Dojo の準備が整うまでお待ちください。dojo.addonloadを使用するか、ウィジェットを作成してコードの html 部分でそのウィジェットを参照します。ウィジェットは驚くべきものであり、dojo を素晴らしいものにしているので、それらがどのように機能するかを理解することは有益です。

また、プログラムでウィジェットを作成する場合 (新しい dijit.Tree)、startup を呼び出す必要があることにも注意してください。これは、宣言的に作成する場合 (インライン html) には必要ありません。

これが役立つことを願っています。

于 2012-08-26T20:21:20.330 に答える