我需要为我的 dynatree 使用搜索功能,所以我找到了这个解决方法:JQuery Dynatree - search node by name
但是,我只需要让它搜索到我的扩展节点分隔符。(我正在使用 jQuery ui-slider 来动态设置扩展分隔符)。最初,我需要它搜索直到我的 minExpandedLevel。如果我移动滑块,动态树应该只显示与滑块值等效的扩展级别的匹配结果。
尝试重置 minExpandLevel 并重新加载 dynatree 是行不通的,因为它会返回所有(甚至不匹配的)节点作为结果。
所以我想在搜索功能中添加一个限制参数,例如:
$(selector).dynatree("getRoot").search(pattern, limit);
有人知道怎么做这个吗?
这是我的代码:
动力树:
$.ui.dynatree.nodedatadefaults["icon"] = false;
$("#resultTree").dynatree({
minExpandLevel: 4,
persist: false,
classNames: {
vline: "no-bg",
connector: "",
expander: "ui-helper-hidden"
},
children: myJsonData
});
滑块:
timeout = false;
searchTerm = $("#searchText").val();
$("#treeslider").slider({
min: minTick,
max: maxTick,
range: "min",
slide: function (event, ui) {
if (timeout) {
clearTimeout(timeout);
}
timeout = setTimeout(function () {
$("#resultTree").dynatree("getRoot").search(searchTerm, ui.value);
}, 500);
}
});