jquery - 使用 id 展开 kendo ui 树节点

标签 jquery kendo-ui kendo-treeview

我正在使用绑定(bind)到远程数据 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 fiddle 无法扩展(因为我正在使用数据库)所以我创建了崩溃的演示代码 http://jsfiddle.net/mitesh_inf/S3H6U/

有 friend 能告诉我我哪里做错了吗??

最佳答案

您的 jsFiddle 示例没有 id 为 3 的元素。document.getElementById("3")返回 null .

如果您从 Kendo 数据源中知道要折叠的项目的 uid,则可以使用 jQuery 选择器找到匹配的项目 data-uid属性:

$("#treeview")
    .data("kendoTreeView")
    .collapse('.k-item[data-uid="a7e9f5fd-4c11-4e0f-bb16-ae335c70c73f"]');

或者,如果您指的是树中的第三项:
$("#treeview")
    .data("kendoTreeView")
    .collapse($('.k-item').eq(2));

关于jquery - 使用 id 展开 kendo ui 树节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17000189/

相关文章:

twitter-bootstrap - 带有 Kendo UI 的 Bootstrap - 是否集成?

javascript - Kendo Treeview - 将类添加到 kendo treeView 中的 treeItem <li> 元素

javascript - 如果没有要显示的 child ,Kendo UI treeview 会删除 kendo ui treeview 中的展开箭头 - 无法正常工作

javascript - jQuery 自动调整标签高度

javascript - 在 Jasmine 单元测试中模拟鼠标悬停?

kendo-ui - 如何将表列字段合并到剑道网格中的单列

jquery - 如何按空格键打开剑道下拉菜单

javascript - 如何根据单击按钮折叠和展开 Kendo UI treeView 中的所有树节点?

jquery - 使用 jquery 设置 Bootstrap 日期字段输入值

javascript - 'hasClass' 和 'is' 之间的区别?另外,替代返回 Jquery 元素?