0

コンテキスト メニューのクリックで Dojo のツリーのノード IDを取得したいと考えています。

こんな風に道場で木を作っています。これが id です - 最初のパラメータです。

 this.setData(
            [
{ id: '5', name:'root' , type:'continent' }, 
{ id: '6', name:'catalog 1', parent: '5' , type:'continent' }, 
{ id: '7', name:'catalog 2', parent: '5' , type:'continent' }, 
{ id: '8', name:'catalog 2.1', parent: '7' , type:'continent' }, 
{ id: '9', name:'child Catalog', parent: '8' , type:'continent' }, 
{ id: '10', name:'catalog 4', parent: '5' , type:'continent' } ]); 

これが私のツリーとメニューの初期化関数です。
そのため、ツリーの右ボタンをクリックすると、ボタン付きのコンテキスト メニューが表示されます。そのボタンをクリックすると、onClick関数がトリガーされます。そのidを受け取りたいです。

     <script>
        function createMyTree()
        {
            var tree = new dijit.Tree({
                                        model: myModel,
                                        id: 'contextMenu'
                                        });
            tree.placeAt("myTree", "last");
            tree.startup();


            pMenu = new dijit.Menu({
                targetNodeIds:["contextMenu"]
            });

            pMenu.addChild(new dijit.MenuItem({
                label:"Delete",
                iconClass:"dijitEditorIcon dijitEditorIconDelete",
                onClick: function(){
                    /// HERE I WANT MY id
                }
            }));

            pMenu.startup();
}

どうやってやるの?

4

3 に答える 3

0

私はそれを見つけました..みんなありがとう。より良い提案があれば、共有してください。:)

   var selectedObject = tree.get("selectedItems")[0];
   console.log("the id what I need", selectedObject.id);
于 2013-05-14T08:01:03.507 に答える