2012-08-02 53 views
2

我是新來的Zend框架和dojo.i在zend框架中創建了使用dojo的動態樹結構,但是我想單擊每個文件夾和樹結構的元素來編寫一個函數.Pleas檢查我的代碼,並幫助我,我已經通過上單擊事件鏈接一些道場走了,沒能解決naigation爲另一種形式..如何在Zend框架中爲dojo動態樹創建dojo數據onclick事件程序化方法

<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> 

回答

0

看起來你的代碼示例格式不正確,因爲某些邏輯位於myTree函數之外。我用jsbeautifier.org來證實這一點。

其他注意事項... 你應該等到道場準備好了。請使用dojo.addonloadcreate a widget,並在您的代碼的html部分中引用該小部件。小工具非常棒,它使道場變得更好,因此掌握他們的工作方式將帶來收益。

另請注意,如果以編程方式創建小部件(新的dijit.Tree),則應該調用它啓動。以聲明方式創建時(內聯html),這不是必需的。

我希望這會有所幫助。