jsTree搜索问题-不隐藏节点

JavaScript07

jsTree搜索问题-不隐藏节点,第1张

设置了插件的show_only_matches为ture后,输入带匹配限制的短语,显示节点。但是如果输入的关键字不匹配任何节点,没有显示空,而是显示了所有节点。

查询了资料得知:

这是jsTree的有意行为。

之前jsTree是隐藏所有节点的。但是当时对于这个报了很多错误。因此现在jsTree不会自动隐藏所有节点,因为它对于大多数应用来说是非常混乱和不合适的。

但是如果你想隐藏全部节点也是有办法的。办法如下:

1.只要监听下search.jstree事件:

2.然后别忘记在进行新的搜索的时候把它们显示出来:

jstree不用通过重新调用一次$(dom).jstree({})来重新加载,直接清除dom里的内容也是无效的,因为jstree的class等数据还绑定在dom上。

必须在$(dom).jstree({})之前加上$.jstree.destroy ()

销毁原来的所有节点后,新建即可

var ref = $('#jstree').jstree(true)//获得整个树

sel = ref.get_selected()//获得所有选中节点,返回值为数组

或者

sel = ref.get_top_selected()//获得所有选中的顶层节点,返回值为数组