У меня есть следующий код для моего дерева. Все в порядке. Я могу использовать свое дерево: развернуть, свернуть, перетащить элементы. Но когда я называю «выберите» событие для любого узла я получаю сообщение об ошибке:Kendo Treeview с удаленным источником данных
Uncaught TypeError: Cannot call method 'dataItem' of undefined"
на линии
var data = $("#treeview").data("kendoTreeView").dataItem(e.node);
Любые идеи, как решить это? Как я могу получить доступ к data("kendoTreeView")
моего дерева? Я попытался получить его на endRequest
событии источника данных, но он не работает.
var jsonUrl = "/admin/adminmenu/adminmenujson";
adminMenu = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: jsonUrl,
dataType: "json"
},
schema: {
model: {
id: "id",
children: "items"
}
}
});
var tree = $("#treeview").kendoTreeView({
name: "Admin Menu",
expanded: true,
loadOnDemand: false,
dragAndDrop: true,
dataSource: kendo.observableHierarchy(adminMenu),
template: "#= item.name # <input type='hidden' class='data_id' value='#=item.id#'>",
select: function(e) {
var data = $("#treeview").data("kendoTreeView").dataItem(e.node);
console.log(data.id);
}
}).data("kendoTreeView");
Я не знаком с рассматриваемым элементом управления деревьями, но «$ (« # treeview »). Data (« kendoTreeView »)' is 'null' - поэтому поставьте точку останова на эту строку в вашем отладчике javascript (Firebug/Chrome Dev Tools/etc) и изучить '$ (" # treeview "). Data', чтобы увидеть, что он содержит? – Basic