2011-04-28 37 views
0

我正在使用jQuery jsTree插件来创建树视图。它使用json数据动态填充,其中每个节点包含元数据。当我展开一个节点时,我希望能够访问节点元数据并将其作为AJAX调用新JSON数据的一部分传递。我还想在双击某个节点时访问元数据。有人可以建议我需要在代码示例中插入哪些代码?在双击和ajax调用中访问jstree元数据

$("#tree").jstree({ 
    "json_data" : { 
     "ajax": { 
      "url": "/url", 
      "data": function(n) { 
       // NEED METADATA HERE 
      } 
     } 
    } 
}); 

$("#tree").delegate("a", "dblclick", function(e) { 
    // NEED METADATA HERE 
}); 

回答

0

我不确定要在数据函数中这样做,而是代替委托您可以执行此操作。

$('#tree').bind("select_node.jstree", function(event, data){ 
console.log(data.rslt.obj.data('jstree')); //data.rslt.obj.data('jstree') will contain all metadata you have set 
}); 
+1

这不起作用。我得到“未定义” – 2011-08-24 19:01:26

0
$("#tree").jstree({ 
    "json_data" : { 
     "ajax": { 
      "url": "/url", 
      "data": function(n) { 
       // NEED METADATA HERE 
       var node = $.data(n[0], "jstree"); 
       alert(node); // THIS IS YOUR REQUIRED META DATA 
      } 
     } 
    } 
}); 

$("#tree").delegate("a", "dblclick", function(e) { 
    // NEED METADATA HERE 
});