我正在使用绑定到远程数据http://demos.kendoui.com/web/treeview/remote-data.html
创建kendo ui树我是kendo ui的新手,如果我使用波纹管代码来扩展树,它可以正常工作
var treeview = $("#treeview").data("kendoTreeView");
// expand all nodes
treeview.expand(".k-item");
当我尝试使用id
时,它会给我一个未定义的错误
代码是
var treeview = $("#treeview").data("kendoTreeView");
// expand the node with id=3
treeview.expand(document.getElementById("3"));
//treeview.dataSource.view();
这是我的jquery代码
var serviceRoot = "search/treej.php";
homogeneous = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: serviceRoot,
dataType: "jsonp"
}
},
schema: {
model: {
id: "id",
hasChildren: "child"
}
}
});
$("#treeview").kendoTreeView({
checkboxes: {
checkChildren: false,
},
dataSource: homogeneous,
dataTextField: "value"
});
// my function to expand node using id it is called on my button click
function expand_me(){
var treeview = $("#treeview").data("kendoTreeView");
// expand the node with id=3
treeview.expand(document.getElementById("3"));
}
我对此并不太了解,但js小提琴不可能扩展(因为我使用的是数据库)所以我创建了崩溃的演示代码http://jsfiddle.net/mitesh_inf/S3H6U/
任何伙伴都可以告诉我,我在哪里做错了吗?
答案 0 :(得分:1)
您的jsFiddle示例没有ID为3的元素。document.getElementById("3")
返回null
。
如果您知道要崩溃的项目的Kendo DataSource中的uid,则可以使用jQuery选择器查找具有匹配data-uid
属性的项目:
$("#treeview")
.data("kendoTreeView")
.collapse('.k-item[data-uid="a7e9f5fd-4c11-4e0f-bb16-ae335c70c73f"]');
或者,如果您的意思是树中的第3项:
$("#treeview")
.data("kendoTreeView")
.collapse($('.k-item').eq(2));