javascript - jQuery Dynatree,按标题选择子节点?

标签 javascript jquery dynatree jquery-dynatree

我正在使用一些代码以编程方式选择动态树的根节点(其中唯一的一个),即

        $("#divDynaTree").dynatree("getRoot").visit(function (node) {
        node.select(true);
    });

我有第二个 dynatree 有多个“父”和“子”节点,当我在应用程序中使用单独的事件(按钮单击)时,我想以编程方式选择一个“子”。我想使用子节点的标题,但很难找到正确的语法来这样做。我确实探索了这个网站和 goodle 上的其他 dynatree 线程,但还没有找到我正在寻找的东西(或者可能很接近,但我的经验不足导致我看不到它)。我假设代码将与上面类似,使用“访问”..但我不确定此时该去哪里。任何帮助将不胜感激。

最佳答案

尝试选择所有子节点:

$(function(){
    var inEventHandler = false;
    $("#tree").dynatree({
        checkbox: true,
        selectMode: 2,
        [...]
        onSelect: function(select, dtnode) {
            // Ignore, if this is a recursive call
            if(inEventHandler) 
                return;
            // Select all children of currently selected node
            try {
                inEventHandler = true;
                dtnode.visit(function(childNode){
                    childNode.select(true);
                });
            } finally {
                inEventHandler = false;
            }
        }

或按名称搜索节点:

var match = null;
tree.visit(function(node){
    if(node.data.title === "foo"){
        match = node;
        return false; // stop traversal (if we are only interested in first match)
    }
});
alert("Found " + match);

关于javascript - jQuery Dynatree,按标题选择子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15277510/

相关文章:

JavaScript:在 AJAX 回调 URL 中访问表 ID

javascript - PHP的json_encode在JS解析时有时会丢失最后一个 '}'括号

javascript - 如何将数据表内容存储在本地存储中

jQuery - dynatree 延迟加载和多层(类型 3)selectMode

javascript - Dynatree 仅扩展树的最后一个节点

javascript - 使用 Vue 和 Laravel 设置 Themeforest HTML 模板。在 router.push 上加载 JS 文件不起作用

javascript - 在当前 div 和下一个隐藏上显示隐藏的 div

javascript - 如何使用 javascript 创建动态 ID,然后链接到轮播上的帖子?

jquery - 单击链接 <a> 时 Dynatree 取消选择节点(或删除事件类)

javascript - 是否可以通过 ajax 从 php 返回 javascript 函数?