rmw
rmw

Reputation: 33

Dynatree- Get Div ID

I have 2 same dynatrees in the same page as shown in this js fiddle http://jsfiddle.net/37ppf/3/.

$("#tree1").dynatree({            
    onSelect : function(select,node){},             
    checkbox: true,           
    children: [ 
        {title: "Item 1",key:"1"},                
        {title: "Folder 2", isFolder: true, key:"2",
            children: [                        
                {title: "Sub-item 2.1", },                        
                {title: "Sub-item 2.2", }
            ]                
        },                
        {title: "Item 3",key:"5"}            
    ]       
});

$("#tree2").dynatree({            
    onSelect : function(select,node){},             
    checkbox: true,           
    children: [ 
      {title: "Item 1",key:"1"},                
      {title: "Folder 2", isFolder: true, key:"2",                   
        children: [                        
          {title: "Sub-item 2.1", },                        
          {title: "Sub-item 2.2", }                    
        ]                
      },                
        {title: "Item 3",key:"5"}            
    ]       
 });

<div id="tree1"> </div>
<div id="tree2"> </div>

Now When a user selects any node in any of the dynatree I want to get the div id in which the tree from which the user has selected the node is loaded.i.e if user selects from first tree I want to get output as tree1(div id) and if a node is selected from second tree i want to get tree2. Is this possible. I tried

$(this).closest(".dynatree-container").parent("div").attr("id")

But its coming undefined.

Upvotes: 0

Views: 261

Answers (2)

Kyo
Kyo

Reputation: 964

It feels super hacky, but you can do it this way:

onSelect : function(select,node){
    alert(node.tree.$tree[0].id);
}, 

node.tree.$tree[0] will return the javascript object of its parent tree.

See the working code at

JSFiddle

Upvotes: 1

Sridhar R
Sridhar R

Reputation: 20418

Try this

$(document).on('click','span',function(){
  console.log($(this).parents('div').attr('id'))  
})

DEMO

Upvotes: 0

Related Questions