我有一个Telerik MVC Treeview,我试图获取使用JQuery的子节点。我正在使用“ hasChildren”属性来告诉我该节点是否有任何子代,并且工作正常。但是我似乎无法弄清楚让我迭代子节点的节点属性。 “ nodes [i] .children.view()”给了我一个空数组,但根据Kendo doc,它应该是子节点的数组。
var productTreeView = $("#treeviewProducts").data("kendoTreeView");
var nodes = productTreeView.dataSource.view();
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].hasChildren) {
var childrenNodes = nodes[i].children.view();
for (var x = 0; x < childrenNodes.length; x++) {
...
}
}
}
更新:如果扩展了带有子节点的节点,则上面的代码可以正常工作,但是由于启用了子节点的LazyLoading(感谢DontVoteMeDown),导致带有子节点的节点折叠时,上述代码无法正常工作。在运行代码(productTreeView.expand(“。k-item”);)之前,请关闭它或展开所有节点。