2017-04-20 5 views
1

object에 값 목록이 있습니다. jstree의 각 노드에 버튼을 추가해야합니다.jstree의 각 노드에서 jspree의 클릭 가능한 버튼을 추가하십시오.

내 코드 :

이 단일 값에 대해 작동하고 정적 코드입니다.

$('#tree').jstree({ 
core:{ 
    data:[ 
     '<button>Press</button> One' 
    ] 
}, 
plugins:['checkbox'] 

});

각 노드에 버튼을 동적으로 추가하고 싶습니다.

var arrayCollections = ${jsonArray}; 
$('#jstreesD').jstree({ 
    'core' : { 

      ], 
     'data' :[ arrayCollections,'<button>Press</button> Ok'], 

    }, 
}) 

<div id="jstreesD"></div> 

그러나 이것은 작동하지 않습니다. 이렇게 할 방법이 있습니까?

감사합니다,

+0

을()' . 그리고 어쨌든 배열 인 경우 데이터를 가져옵니다 : [[ "button", "button"], "button"]'. 그리고 난 당신이 '데이터'가 필요 믿는다 " \t \t,"100 ": [ '버튼', '버튼'] – Leguest

+0

회신 안녕하세요 Leguest 덕분에, jsonArray이 var에있는 ArrayCollection = [{ \t \t"ID "와 같은 데이터를 포함 부모 ":"# ", \t \t"텍스트 ":"을 MyData " \t}, { \t \t \t"ID ":"155 ", \t \t \t"부모 ":"을 MyData ", \t \t \t "text": "Test", \t \t}, }); 각 노드에 버튼을 추가해야합니다. – VJM

답변

1

나는 당신이 시도 할 수 있다고 생각 VJM :`jsonArray` 그리고 왜 당신이 $ '로 포장하려고하는 것은 무엇

$(function() { 

     var data = [ { "id" : "100", "parent" : "#", "text" : "MyData" }, { "id" : "155", "parent" : "MyData", "text" : "Test", } ] 

     $('#jstree').jstree({ 
      'core' : { 
       'data' : data.map(function(item){ 

        return "<button>Press</button>" + item.text 
       }) 

      } 
     }); 
    }); 

JSFiddle Example

+0

감사하지만이 방법으로 자바 스크립트 예외 '잡히지 않은 ReferenceError : 데이터가 정의되지 않았습니다.'가 표시되고 화면에는 하나의 버튼이 데이터없이 표시됩니다. – VJM

+0

그 오류를 해결했지만 이제는 부모 ID를 기반으로 트리보기 형식이 표시되지 않고 버튼이있는 화면에 간단한 항목으로 직접 표시됩니다. – VJM

+0

jsTree가 parentID가 아닌 childrens.y를 찾으므로 데이터를 다시 어셈블해야한다고 생각합니다. – Leguest