我需要使用搜索功能爲我的dynatree等我發現這個解決辦法:JQuery Dynatree - search node by nameJQuery Dynatree - 如何使用級別分隔符搜索節點?
不過,我需要把它只能搜索,直到我展開的節點分隔符。 (我使用jQuery UI的滑塊來動態地設置擴大分隔符)。 最初,我需要它來搜索,直到我minExpandedLevel。如果我移動滑塊時,dynatree應顯示在擴展級僅匹配結果相當於滑塊值。
嘗試重置minExpandLevel和重裝dynatree只是不會做,因爲它返回所有(甚至非匹配)的節點作爲結果。
所以我要到了一個極限參數添加到像搜索功能:
$(選擇).dynatree( 「getRoot」)搜索(模式,限制);
是否有人知道如何做到這一點?
這裏是我的代碼:
dynatree:
$.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);
}
});
嗨,這似乎正是我後,但我絕對不知道在哪裏把這個!你可以給出簡要的細節,哪些文件(jquery.dynatree.js我假設)和行蹤。 – JasonMHirst
不要認爲這是一個'答案',但最終設法找到該代碼的位置。對於任何其他人(並且有幾個),查找行「var DynaTree = Class.create();」然後粘貼上面的代碼。它工作100%:) – JasonMHirst