2011-04-28 9 views
0

jQuery jsTree 플러그인을 사용하여 트리보기를 만듭니다. json 데이터로 동적으로 채워지며 각 노드에는 메타 데이터가 들어 있습니다. 노드를 확장하면 노드 메타 데이터에 액세스하여 AJAX 호출의 일부로 새 json 데이터를 전달할 수 있기를 원합니다. 또한 노드를 두 번 클릭하면 메타 데이터에 액세스하려고합니다. 누군가가 아래의 코드 예제에 어떤 코드를 삽입해야하는지 제안 할 수 있습니까?더블 클릭 및 아약스 호출에서 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

이 작동하지 않습니다. 나는 "undefined"를 얻는다. –

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 
}); 
관련 문제