【问题标题】:Open Kendo UI TreeView node using id使用 id 打开 Kendo UI TreeView 节点
【发布时间】: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


【解决方案1】:

你可以尝试替换

var $selected = $('#4');

你的第二部分

var dataSource = treeview.dataSource;
var dataItem = dataSource.get(4); // find item with id = 4
var $selected = treeview.findByUid(dataItem.uid);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多