2011-12-13 1 views
8

현재 JS 트리 플러그인 및 관련 체크 박스 플러그인을 사용하는 일부 POC에서 작업 중입니다. 나는 기본적으로 체크 상자를 선택하고 더 selection.I을 해제 할 필요가 특정 노드에 대한 완전히 내가 비활성화 할 수있는 방법을 찾으려는 체크 박스를 숨길jstree 비활성화 체크 박스

.bind("load_node.jstree", function (e, data) { 
      $(this).find('li[rel!=file]').find('.jstree-checkbox:first').hide(); 
     }); 

대신 확인란을 숨기기 위해 기능 발견 특정 노드의 확인란

+0

더 undestandable 될하기 위해 질문을 다시 작성 :

$rel = ('if the checkbox need to be pre-checked')? 'rel="disabled" class="jstree-checked"' : ''; echo '<li id="checkbox_id" '. $rel .'>'; 

는 그런 다음 다음과 같이 rel 속성에 사용 된 '사용 안 함'유형을 정의 할 필요가 이전의 답변에 따라. – athspk

답변

10

"비활성화 됨"유형 (플러그인 유형 사용)을 정의한 다음 해당 유형을 원하는 노드에 지정해야합니다. 예를 들어

테이크이 "비활성화"유형 정의 :

  "types" : { 
       "types": { 
       "disabled" : { 
         "check_node" : false, 
         "uncheck_node" : false 
        } 
       } 
      } 

및 유형의 할당은 :

플러그인 유형에

더 많은 정보는 here를 찾을 수 있으며 또한 this google group with more info on disabling checkboxes

을 확인할 수 있습니다
$.jstree._reference('#tree').set_type("disabled", "#node5"); 

희망 하시겠습니까?

1

mcabral 및 Tomasz에게 답변 해 주셔서 감사합니다. 올바른 결과를 얻는 데 도움이되었습니다. 그러나 제대로 작동하려면 추가 라인을 추가해야했습니다. 여기에 내가 무슨 짓을 :

당신은 <li> 태그 느릅 나무에 두 개의 속성을 추가 할 필요가

이 대신 기본의 체크 박스에 대한 새로운 유형이 될 것 jstree를 나타 내기 위해 rel='disable'class='jstree-checked' 속성 것입니다 사전 검사입니다 트리를로드 할 때 확인란이 선택됩니다.

.jstree({ 
        "types" : 
        { 
         "types" : { 
          "disabled" : { 
           "check_node" : false, 
           "uncheck_node" : false 
          } 
         } 
        }, 
     "plugins" : ["themes","html_data","ui","crrm","types", "checkbox"], 
        "checkbox" : { "two_state" : true }, 
    })