2017-10-26 2 views
0

ファンシーツリーフィルタプラグインhttp://wwwendt.de/tech/fancytree/demo/#sample-ext-filter.htmlを使用しています。私はモードを持っています: "hide"が設定されています。フォルダを隠すことはできませんか?ファンシーツリーフィルタでフォルダを隠さないでください

私はカスタムフィルタを追加することでこれを達成できると思っていましたが、フィルタが影響を及ぼさないように間違っていなければなりません。

私は現在しようとしていますカスタムフィルタ用のコード -

//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

最後に、考え出しました。同じ要件を持つ他の人のために、私は次のコードを使用しました。 -

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 
      } 
     } 

また、leavesOnlyの値をfalseに設定する必要があります。カウンター値は間違っていますが、私の場合は必須ではありません。

関連する問題