2017-01-12 1 views
0

jsTree를 구현하는 데 문제가 없습니다.jsTree가 ID로 노드를 찾을 수 없습니다.

다양한 사이트에서 너무 많은 제안과는 너무 다른 것을 시도했습니다.

$('#myTree').jstree({ 
.... 
}) 
.on('loaded.jstree', function (e, dta) { 
    var t = $('#myTree').jstree(true); 
    var n = t.get_node("myIDstring"); 
    console.log(t); 
    console.log(n); 
}); 

위의 마지막 시도는 위에 나온 것처럼 .on (loaded.jstree) 콜백을 사용하는 것입니다. 하지만 노드를 얻으려고했던 것과는 아무런 차이가 없었습니다. 항상 같은 결과.

console.log (t)는 내가 나무를 가지고 있음을 증명합니다. 이 경우, 나는 자식이 217 명인 것을 볼 수있다.

"myIDstring"은 console.log의 javascript 콘솔에서 드릴 다운 한 노드 중 id 속성에서 잘라 붙인 것이다. t) echo.

console.log (n); 에코는 '거짓'입니다.

t.find()를 시도하면 find()가 콘솔에 함수 오류가 아닙니다.

van n = $ ('# myTree') .jstree (true) .get_node ("myIDstring"); 은 var n = t.get_node();와 똑같이 실패합니다.

감사합니다.

PS : 예. 나는 내가 우리뿐만 아니라 우리가 dta의 가치를 가질 수 있음을 안다. 하지만 내 목표는 .no ('loaded.jstree') 내부에서이 코드를 사용하지 않는 것입니다.

답변

2

loaded.jstree은 루트 노드 만로드하면 시작됩니다. 아래처럼 ready.jstree 이벤트를 사용하십시오. 데모도 확인하십시오. - Fiddle Demo

$('#myTree') 
.jstree({ 
    ... 
}) 
.on('ready.jstree', function(){  
    var t = $('#myTree').jstree(true); 
    var n = t.get_node("myIDstring"); 
    console.log(t); 
    console.log(n); 
} 
+0

한번 보았습니까? – Steve

관련 문제