2014-10-16 5 views
2

자바 스크립트에서만 jsTree를 만들고 싶지만 코드가 제대로 작동하지 않고 문제가있는 곳을 찾을 수 없습니다. Google의 다른 항목도 나를 더 이상 끌어 들이지 못했습니다.jsTree 노드가 작동하지 않습니다.

$("#root2").append("<li class='2013'>2013<ul>"); 
$("#root2").append("<li class='jan'>January<li>"); 
$("#root2").append("<li class='feb'>february<li>"); 
$("#root2").append("<li class='mar'>Mars<li>"); 
$("#root2").append("</ul></li>"); 

$("#jstree2").jstree(); 

: 내 .PHP 파일이 사업부가

: 페이지가 준비되면 내의 .js 파일에서

<div id="jstree2"> 
    <ul id="root2"> 
    </ul> 
</div> 

, 나는 실행 간단하게 다음과 같은 코드가 있습니다 결과는 다음과 같습니다.

| ---- 2013
|
| ---- 1 월
|
| ----
|
| ---- 2 월
|
| ----
|
| ---- 화성
|
| ----

내가 PHP 파일에서 HTML 직접 쓰기 (= wenn은 PHP 파일이로드 된 후 작성하지 않음) 트리가 올바르게 표시됩니다. 나무를 만들 수있는 방법을 올바르게 만들 수 있습니까 (2013 년을 열거 나 닫을 수 있습니까?).

+0

모든 것을 하나의 노드에 추가합니다 :'$ ("# root2")'. – melancia

답변

0

루트에 모든 요소를 ​​추가하고 있습니다. 이것은을 수행해야합니다

$(function() { 
    var yearNode = $('<li>', { 
     class: '2013' 
    }).text('2013'); 

    var year = $('<ul>'); 

    year.appendTo(yearNode); 

    $('<li>', { 
     class: 'jan' 
    }).text('January').appendTo(year); 

    $('<li>', { 
     class: 'feb' 
    }).text('February').appendTo(year); 

    $('<li>', { 
     class: 'mar' 
    }).text('March').appendTo(year); 

    yearNode.appendTo($('#root2')); 

    $('#jstree2').jstree(); 
}); 

Demo

+0

아, 이해합니다. 귀하의 솔루션은 완벽하게 작동합니다 :) 감사합니다 – Chris

0

당신은 제대로 닫는 리 태그에 대해 잊어 버렸습니다. 귀하의 HTML이 잘못 생성됩니다 원인.

$("#root2").append("<li class='2013'>2013<ul>") 
.append("<li class='jan'>January</li>") 
.append("<li class='feb'>february</li>") 
.append("<li class='mar'>Mars</li>") 
.append("</ul></li>"); 

$("#jstree2").jstree(); 
+0

잊혀진/이유는 실제로 아무것도없는 노드가 있었지만, 지금은 여전히 ​​같은 수준에있는 모든 노드가 있지만, 나를 더 가져 왔어, 덕분에 – Chris

+0

당신은 인쇄 된 HTML 코드를 인쇄 할 수 있습니까 당신의 추가 작업에서? – Beri

+0

당신이 맞습니다, 생성 된 HTML 코드가 잘못되었습니다, 모든 것이 같은 레벨에 있었고, MelanviaUK의 응답이 작동합니다 :) 당신의 도움을 많이 주셔서 감사합니다. – Chris

관련 문제