2014-07-10 1 views
1

jstree v3.0.2를 사용하여 JSON 기반 노드에서로드하는 3 가지 상태 체크 박스 (선택, 선택되지 않음, 미확인) 형식으로 AJAX 호출합니다. 루트 노드 만로드되며 사용자가 노드를 확장 할 때 자식 노드가 필요할 때로드됩니다. 그러므로 우리는 노드의 어떤 자식 노드가 검사되었는지는 알지 못하지만 루트 노드는 하위 노드에 따라 검사, 선택 취소 또는 결정되지 않아야합니다.JStree : AJAX가로드 된 루트 노드의 상태를 알 수 없음으로 설정하는 방법

제 질문은 내 문제를 좀 더 이해하기 쉽게 만들려고하는데, 외관상으로는 이전 버전과 관련이 있으며 노드의 지연로드를 고려하지 않았습니다. 또한 last answer은 "미결정"상태 사용을 제안하지만 작동하지 않는 것 같습니다.

처음에 (맨 위의 루트 노드)로드 된 JSON은 다음과 같습니다

[{ 
    "id":"100", 
    "parent":"#", // Indicates this is a topmost root node 
    "text":"test1", 
    "children":false, // Wether or not the node has children 
    "state":{ 
     "selected":true, // Node is selected 
     "partial_selection":false // Node state >should be< undetermined 
    } 
},{ 
    "id":"101", 
    "parent":"#", 
    "text":"test2", 
    "children":true, 
    "state":{ 
     "selected":true, 
     "partial_selection":true 
    } 
},{ 
    "id":"102", 
    "parent":"#", 
    "text":"test3", 
    "children":true, 
    "state":{ 
     "selected":false 
    } 
}] 

사람이 문제에 대한 해결책을 발견 했나요?

답변

1

확인이 문제를 해결할 수있었습니다. 분명히 jstree 은 (이미 최신 버전의 라이브러리를 사용하는 경우, 내 케이스 3.0.2에서) 'undetermined'상태를 허용합니까? this answer이 이미 제안되었지만 'selected'- 상태가 생략 된 경우에만 작동합니다. 말이된다). 자세한 내용은 Github의 the issue I filed을 참조하십시오.