2017-10-26 7 views
0

멋진 트리 필터 플러그인 http://wwwendt.de/tech/fancytree/demo/#sample-ext-filter.html을 사용하고 있습니다. 나는 모드를 가지고 있습니다. 일치하지 않는 노드를 숨기려면 "숨기기"을 설정하십시오. 폴더를 숨길 수 있습니까?팬시 트리 필터에서 폴더를 숨기지 마십시오

사용자 지정 필터를 추가하여이 작업을 수행 할 수 있다고 생각했지만 필터가 영향을 미치지 않는 것처럼 잘못된 작업을 수행해야합니다. 사용자 정의 필터

코드는 내가 현재 노력하고 있어요 -

//tree initialized before this step 
    var tree = $("#tree").fancytree("getTree"); 
    searchText = $('#searchText').val().replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); 
    var rex = new RegExp(searchText, 'ig'); 

    tree.filterNodes(function(node) { 
     if(node.isFolder()) { 
      return "skip"; 
     } 
     var match = rex.test(node.title); 
     return match; 
    }); 

사람이 내가 잘못 뭐하는 거지 포인트시겠습니까? 자세한 내용이 필요하면 알려주십시오.

답변

0

마지막으로 알아 냈습니다. 또한 false로 leavesOnly 값을 설정하는 데 필요한

function(node) { 
      var found = new RegExp(match, "i").test(node.title); 
      if(node.isFolder()) { 
       return true;  //always match a folder 
      } else { 
       return found; // otherwise match the nodes only 
      } 
     } 

- 같은 요구 사항이 다른 사람을 위해, 나는 다음과 같은 코드를 사용했다. 카운터 값은 틀리나 제 경우에는 필요하지 않습니다.