jstree-grid 尝试仅显示匹配项时出现问题
jstree-grid issue when attempting to show only matches
我正在使用 jstree、built-in 搜索插件和 jstree-grid 插件。我正在尝试做的是使用 show_only_matches 选项进行搜索,因此只显示匹配的节点,其余的则隐藏。这就是我的问题所在。
我正在使用 jstree-grid 插件,尽管搜索工作正常,但网格出现故障。它不会像您期望的那样隐藏额外的行信息。比如有一个根节点Root,它有3个children; child1,child2,child3,如果搜索child3,打开Root,只显示child3。但是,child1 和 child2 的网格值仍然显示。
下图 link 就是一个例子。搜索test2只显示test2children,但每个学校下都有2个test,隐藏的test信息还在显示
这是我现在用来 show/hide 适当的网格值的方法,它只是稍微改变了搜索功能。
$('#treeSearch').keyup(function () {
if(to) { clearTimeout(to); }
to = setTimeout(function () {
var v = $('#treeSearch').val();
$('#jstree').jstree(true).search(v);
//hide/show grid values for nodes affected by searching
var hidden = $('ul li:hidden');
var visible = $('ul li:visible');
$.each(hidden, function(i){
$('div[id*=' + hidden[i].id + ']').hide();
});
$.each(visible, function(i){
$('div[id*=' + visible[i].id + ']').show();
});
}, 500);
});
我正在使用 jstree、built-in 搜索插件和 jstree-grid 插件。我正在尝试做的是使用 show_only_matches 选项进行搜索,因此只显示匹配的节点,其余的则隐藏。这就是我的问题所在。
我正在使用 jstree-grid 插件,尽管搜索工作正常,但网格出现故障。它不会像您期望的那样隐藏额外的行信息。比如有一个根节点Root,它有3个children; child1,child2,child3,如果搜索child3,打开Root,只显示child3。但是,child1 和 child2 的网格值仍然显示。
下图 link 就是一个例子。搜索test2只显示test2children,但每个学校下都有2个test,隐藏的test信息还在显示
这是我现在用来 show/hide 适当的网格值的方法,它只是稍微改变了搜索功能。
$('#treeSearch').keyup(function () {
if(to) { clearTimeout(to); }
to = setTimeout(function () {
var v = $('#treeSearch').val();
$('#jstree').jstree(true).search(v);
//hide/show grid values for nodes affected by searching
var hidden = $('ul li:hidden');
var visible = $('ul li:visible');
$.each(hidden, function(i){
$('div[id*=' + hidden[i].id + ']').hide();
});
$.each(visible, function(i){
$('div[id*=' + visible[i].id + ']').show();
});
}, 500);
});