使用 jsTree 进行延迟加载

2024-02-24

我试图在 jtree 扩展时动态加载它们的节点。我发现的小文档位于末尾这一页 http://www.jstree.com/docs/json/.

我找到了一些解决方案,可以使用类似的循环逐一创建节点this one https://stackoverflow.com/questions/14952653/programatically-expanding-nodes-in-jstree-with-ajax-load。我还没有尝试过,但是查看文档页面,我感觉 jstree 应该负责循环遍历节点。

我发现很多解决方案都使用plugins: ["json_data"],但是插件文档页面 http://www.jstree.com/plugins/根本没有提到那个插件。这是一个不再需要的旧插件吗?

我当前的实现使用此代码一次性加载整个树:

$.ajax({
    var pn = $('#project_number').val();
    url : "bomtree?part=" + pn,
    success : function(tree_content) {
        var data = $.parseJSON(tree_content);
        var config = {
            'core' : {
                'data' : data
            }
        };
        $('#bom_tree').jstree(config);
    }
});

我修改了文档页面上的代码,如下所示:

$(function() {
    var pn = $('#project_number').val();
    $('#tree').jstree({
        'core' : {
            'data' : {
                'url' : function(node) {
                    return '/doc/test2';
                },
                'data' : function(node) {
                    return {
                        'part' : node.id === '#' ? pn : node.id
                    };
                }
            }
        }
    });
});

相同的 json 文本适用于第一个代码,现在适用于第二个代码。文档说The format remains the same as the above,所以我没有改变它。

我也尝试返回与示例中相同的数据,如下:

[
       { "id" : "ajson1", "parent" : "#", "text" : "Simple root node" },
       { "id" : "ajson2", "parent" : "#", "text" : "Root node 2" },
       { "id" : "ajson3", "parent" : "ajson2", "text" : "Child 1" },
       { "id" : "ajson4", "parent" : "ajson2", "text" : "Child 2" },
]

但结果是相同的:jquery 在以下行抛出 Sizzle.error:

Sizzle.error = function( msg ) {
    throw new Error( "Syntax error, unrecognized expression: " + msg );
};

内容在哪里msg是服务器返回的json数据。

怎么了?


“当使用 AJAX 将children设置为boolean true时,jsTree会将节点呈现为关闭状态,并在用户打开该节点时对该节点发出额外的请求。”,这是来自jstree http://www.jstree.com/docs/json/文件,它可以达到您的要求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jsTree 进行延迟加载 的相关文章

随机推荐

  • Hibernate的@Version可以考虑相关实体的变化吗?

    我有 2 个实体 Parent and Child处于一对多关系中 这Parent是版本化的 即有一个 Version 字段 我的目标是同步更改Parent and Child上的实体Parent的版本 例如 一个线程更新Parent另一个
  • 如何检查画布元素是否已被污染?

    基本场景 我正在客户端加载几张图像 其中一些来自另一个域 一些则不是 有些我可以使用crossOrigin属性 https developer mozilla org en US docs HTML CORS settings attrib
  • QuerySyntaxException 无效路径 + JPA + Hibernate 5.4

    我试图根据 CriteriaQuery 获取总行数 但出现异常 org hibernate hql internal ast QuerySyntaxException Invalid path generatedAlias1 package
  • 如何去掉tableview底部的空白区域

    QTableWidget 的 tableview 底部总是有一个平淡的区域 如何去掉这个空白区域 让tableview只根据给定的数据显示行和列 你必须设置Stretch作为 resizeMode 到verticalheader impor
  • UIImagePickerController:自定义相机覆盖位于默认控件之上?

    我正在使用创建自定义相机用户界面UIImagePickerController cameraOverlayView财产 不过 我想保留一些现有的 UI 特别是顶部的闪光灯和相机选择按钮 我的想法是我会保留showsCameraControl
  • 了解 SVR scikit-learn 中收敛所需的迭代次数

    我正在尝试优化 SVR 模型 但由于过度拟合而面临问题 为了克服这个问题 我尝试减少迭代次数 而不是等到收敛为止 为了比较这两个模型 我需要两种情况的迭代次数 如何知道在开放的情况下 max iter 1 收敛所需的迭代次数 这是我的代码
  • Django forms.FileField 验证

    我在表单中使用文件字段和文本字段 class SolutionForm forms Form text forms CharField widget forms Textarea required False file forms File
  • 无法使用 ruby​​ on Rails 和回形针 gem 上传 zip 文件

    我正在开发 Rails Web 应用程序 刚刚创建并准备了一些模型和东西 该应用程序非常简单 但现在我在设置宝石回形针以向模型添加附件时遇到了问题 几乎一切都工作正常 例如附加图像 jpg 甚至 pdf 但我无法上传 zip 文件 我尝试了
  • 是否还需要双缓冲

    由于今天的卡似乎保留了渲染命令列表 并且仅在调用时刷新glFlush or glFinish 真的还需要双缓冲吗 我正在 Linux ATI Mobility radeon 卡 上使用 SDL OpenGL 开发的 OpenGL 游戏实际上
  • 在 apache poi(对于 .xlsx 文件)中创建单元格注释并禁用显示注释

    我正在尝试使用 apache poi 创建单元格注释 我可以创建注释 但默认情况下它们始终显示在 Excel 中 我必须手动右键单击单元格并取消勾选显示注释以使它们不可见 现在它们仅当我将鼠标悬停在单元格上时才出现 是否可以使单元格注释默认
  • 在 Java 中使用 Jackson 反序列化异常/可抛出的问题

    我在反序列化时遇到问题Exception and Throwable使用 Jackson 版本 2 2 1 的实例 考虑以下片段 public static void main String args throws IOException
  • 如何获取 Gmail 未读邮件数

    我使用以下代码来获取 Gmail 中的未读电子邮件计数 但是 它返回错误 can t connect Too many login failures 我在这里缺少什么吗 我正在测试的 Gmail 帐户中启用了 IMAP 和 POP NOTE
  • 选中/取消选中 datagridview 上的复选框

    有人可以帮助我为什么它不起作用吗 我有一个checkbox如果我点击它 这应该取消选中 datagridview 内的所有复选框 这些复选框在包含用户选择的复选框之前已选中 这是代码 private void chkItems Checke
  • C++ 编译器可以优化同一指针上的重复虚函数调用吗? [复制]

    这个问题在这里已经有答案了 假设我有以下代码 void f PolymorphicType p for int i 0 i lt 1000 i p gt virtualMethod something 编译器生成的代码会取消引用吗p s v
  • Imap 搜索条件 - imaplib (python)

    我正在使用 python 的 imaplib 并且遇到了一个奇怪的行为 我真的不知道这是否是 imap 或 imaplib 问题 功能 所以我希望有人能给我一些启发 在我的项目期间 我对我的 Gmail 邮箱进行了多次搜索 想象一下我使用以
  • symfony 单元测试:添加/修改表单操作

    我有一个没有操作的表单 用 javascript 提交 我试图为其编写一个单元测试 但它失败了 因为缺少 action 属性 InvalidArgumentException 当前 URI 必须是绝对 URL 有没有办法在单元测试中添加它或
  • 在派生抽象类中强制执行事件

    我正在尝试创建我所认为的翻译类 以便我的程序可以与各种目标平台对话 每个平台都将由抽象类的单独实现来处理 为了简单起见 我已经削减了一些内容 我有一个抽象类 有几个抽象方法 abstract class ControllerBase pub
  • 如何使用 RefCursor 返回类型测试 Oracle 存储过程?

    我正在寻找有关如何在 SQL Developer 或 Embarcardero Rapid XE2 中测试 Oracle 存储过程的良好解释 谢谢 就像是 create or replace procedure my proc p rc O
  • Quartz.net 中每次执行后 JobData 不会持久化

    我有一份工作想要跟踪 50 次最新运行 由于某种原因 状态似乎没有存储在我的简单原型中 PersistJobDataAfterExecution public class ApiJob IJob private const string J
  • 使用 jsTree 进行延迟加载

    我试图在 jtree 扩展时动态加载它们的节点 我发现的小文档位于末尾这一页 http www jstree com docs json 我找到了一些解决方案 可以使用类似的循环逐一创建节点this one https stackoverf