【发布时间】:2013-06-03 10:02:08
【问题描述】:
我正在使用Kendo UI TreeView 来生成我的树。这是tree documentation。
它工作正常,但现在我想使用id 展开(打开)一个节点。
我找到了一些代码 here,但它不适用于我的代码:
var serviceRoot = "search/treej.php";
homogeneous = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: serviceRoot,
dataType: "jsonp"
}
},
schema: {
model: {
id: "entity_id",
hasChildren: "child"
}
}
});
$("#treeview").kendoTreeView({
checkboxes: {
checkChildren: false
},
dataSource: homogeneous,
dataTextField: "value"
});
var $tree = $("#treeview").kendoTreeView(
{
select: function (event)
{
var $item = $(event.node);
console.log( $item );
alert( "selected" );
}
});
var $selected = $('#4'); // here i am passing static values
var $treePath = $selected.parentsUntil($tree, "li");
var treeView = $tree.data('kendoTreeView');
// Expand the tree in order to show the selected item
treeView.expand( $treePath );
// Gotta make both calls...
treeView.select( $selected );
treeView.trigger( 'select', {node: $selected} );
我还在 Kendo 网站上找到了此代码,可能会有所帮助:
var dataSource = treeview.dataSource;
var dataItem = dataSource.get(5); // find item with id = 5
var node = treeview.findByUid(dataItem.uid);
【问题讨论】:
-
实际上看起来应该可以正常工作。你确定
var $selected = $('#4');真的在寻找一个元素吗?
标签: jquery ajax json kendo-ui kendo-treeview