这是我的问题。我正在通过 ajax 使用复选框和延迟加载。但是,如果您要检查父项而不展开它,则不会加载任何子节点,因此不会检查它们。当他们检查父节点时,如何加载父节点下的所有子节点和嵌套子节点,并检查它们?谢谢,这就是我到目前为止所拥有的
$(function () {
// Create the tree inside the <div id="tree"> element.
$("#tree").fancytree({
source: { url: "/Home/GetData", cache: true }
, checkbox: true
, icons: false
, cache: true
, lazyLoad: function (event, data) {
var node = data.node;
data.result = {
url: "/Home/GetTreeViewData/" + node.key
, data: { mode: "children", parent: node.key }
, cache: true
};
}
, selectMode: 3
, select: function (event, data) { //here's where I need to load the children and any sub children for that node, if it has them, so they can be set to checked
}
, strings: {
loading: "Grabbing places and events…",
loadError: "Load error!"
},
})
});
更新 我需要拉这些客户端的原因是因为这是一个将加载谷歌地图标记的树视图。所以如果我有一个像
父母1- >孩子1-1
->->孩子1-1-1- >
孩子1-2
所有这些子节点都加载惰性。但是,如果他们要检查父节点 1,那么我需要为所有这些子节点加载标记。这就是为什么我正在寻找一种方法来递归地获取所有孩子。因为如果我不只是加载树视图项目并选中复选框,那么很难跟踪已添加/未添加哪些标记。有道理?