2017-10-18 122 views

回答

1

嗨@Alexander Suraphel需要設置在您配置對象jsTree"show_only_matches_children": true財產需要由腳本自己隱藏所有節點。所以你剛剛設置這樣你反對config jsTree

var $proceduresTree = $('#procedures-tree'); 

$proceduresTree.jstree({ 
    'core' : { 
     'data' : data, 

     "themes":{ 
      "icons":false 
     } 
    }, 
    "search": { 
     "show_only_matches": true, 
     "show_only_matches_children": true 
    }, 
    "plugins" : ["checkbox", "search"] 

}); 


$('#search_input').keyup(debounce(function() { 

    var v = $('#search_input').val().trim(); 

    //debugger; 

     $proceduresTree.jstree(true).search(v); 


}, 50)); 

例子:codepen https://codepen.io/headmax/pen/BwvYMr?editors=1111

+0

headmax,謝謝你的摘錄。但是將'show_only_matches_children'設置爲'true'對我來說不起作用。我在你的代碼和我的代碼之間唯一的區別是你在使用'children'時使用'parent'屬性。這有什麼區別嗎? –

+0

@Alexander Suraphel是的,因爲如果你想搜索一個父母的名字,或者如果一個孩子的單詞匹配,並且他得到了一個父母,搜索將遇到麻煩,以正確的方式選擇父母和孩子節點。 – 2017-10-18 16:35:26

+0

headmax,最終將我的數據重構爲「父」格式。沒有變化:( –

0

請檢查搜索是否作出CASE_SENSITIVE,你可以用它做如下明確假的嘗試。雖然默認情況下它是錯誤的。

"search": { 
    "case_sensitive": false, 
    "show_only_matches": true 
} 

完整的代碼以及您的HTML,本來很容易找到問題的選項。如果$ proceduresTree是一個有效的jsTree對象,然後把內

$(document).ready(function() { 
    //Your search code goes here. 
}); 

搜索代碼下面是一個簡單的搜索代碼,我使用,工作正常。對於完整的例子可以參考https://everyething.com/Example-of-simple-jsTree-with-Search

$(document).ready(function() { 
    $(".search-input").keyup(function() { 
     var searchstring = $(this).val().trim(); 
     $('#simplejstree').jstree('search', searchstring); 
    }); 
}); 
+0

對不起,沒有關閉這個問題。問題是由於沒有使用正確的CSS文件而導致的,如上面的評論所述。 –

0

這個問題是造成不使用style.min.css爲正確的版本。