首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

jsTree:每次删除节点时获取新的tree JSON

jsTree是一个基于jQuery的开源插件,用于创建交互式的树形结构。它可以帮助开发人员轻松地创建可折叠、可拖拽、可搜索的树形结构,并提供了丰富的功能和选项。

每次删除节点时获取新的tree JSON是指在使用jsTree时,当我们删除一个节点后,需要获取更新后的树形结构的JSON数据。这可以通过jsTree提供的API方法来实现。

具体步骤如下:

  1. 首先,确保已经引入了jQuery和jsTree的相关文件。
  2. 创建一个HTML元素作为树形结构的容器,例如一个div元素。
  3. 使用jsTree的初始化方法来创建树形结构,传入相关的配置选项和数据源。
  4. 在删除节点的事件处理程序中,使用jsTree的删除节点方法来删除指定的节点。
  5. 在删除节点后,使用jsTree的获取JSON数据方法来获取更新后的树形结构的JSON数据。

以下是一个示例代码:

代码语言:txt
复制
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>jsTree Example</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" />
</head>
<body>
  <div id="tree"></div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script>
  <script>
    $(function() {
      // 初始化树形结构
      $('#tree').jstree({
        'core': {
          'data': [
            {
              'text': 'Node 1',
              'children': [
                { 'text': 'Child 1' },
                { 'text': 'Child 2' }
              ]
            },
            {
              'text': 'Node 2'
            }
          ]
        }
      });

      // 删除节点的事件处理程序
      $('#tree').on('delete_node.jstree', function(e, data) {
        // 获取更新后的树形结构的JSON数据
        var treeData = $('#tree').jstree(true).get_json('#', { flat: true });
        console.log(treeData);
      });

      // 删除节点
      $('#tree').jstree(true).delete_node('Child 1');
    });
  </script>
</body>
</html>

在上述示例代码中,我们首先引入了jQuery和jsTree的相关文件。然后,在一个div元素中创建了一个id为"tree"的容器作为树形结构的展示区域。接着,使用jsTree的初始化方法来创建树形结构,并传入了一个包含节点数据的配置选项。在删除节点的事件处理程序中,我们使用了jsTree的删除节点方法来删除名为"Child 1"的节点。最后,通过调用jsTree的获取JSON数据方法来获取更新后的树形结构的JSON数据,并在控制台中打印输出。

对于jsTree的更多详细信息和使用方法,可以参考腾讯云的产品介绍页面:jsTree - 腾讯云

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

记一次 excel vba 参考手册爬虫实战,不必要一次爬虫。

(用于方便制作无限层级菜单:https://blog.csdn.net/jason_renyu/article/details/79168940) 设计思路: 1、分析目标页面,可分出两部分,左边导航...2、通过selenium对导航条进行深度遍历,取得导航条所有节点以及对应链接,并以jstree数据格式存储。 # 导航层级为 ......实现: # # parent 上级节点 # wait_text 上级节点对应xpath路径文本项 # level,limit 仅方便测试使用 # def GetMenuDick_jstree(...k) # Writing JSON data with open(r'templete\data.json', 'w', encoding='utf-8') as f: json.dump(data...,这样在可以进行离线调用,使用ajax.get读取json的话,会提示跨域失败; 2、jstree会禁止跳转事件,所有需要通过监听"change.tree"事件来进行跳转。

2.2K32

使用jsTree树形控件【4】

标准JSON格式 使用JSON渲染jsTree的话,需要指定JSON格式,jsTree可以使用两种JSON格式,在标准JSON格式中,没有必需属性,而且还可以添加自定义属性。...格式 上面的标准格式中,子节点是嵌套在父节点,如果是有多级节点,结构就会比较复杂,这时可以选用另一种JSON格式,在这种格式中,两个属性是必须有的id以及parent,而且也没有children属性...jsTree会自动创建相应树形结构,通过设置parent = "#"来设置节点为父节点。 这种结构适合于需要一次性渲染树形结构或者数据保存在数据库情况。...JSON数据,然后进行渲染,一样使用$.jstree.defaults.core.data进行配置,如果不能从服务器端获取正确JSOn内容,记得设置dataType为json。...$('#tree').jstree({ 'core' : { 'data' : function (obj, cb) { cb.call(this,

2.2K10
  • 基于MetronicBootstrap开发框架经验总结(2)--列表分页处理和插件JSTree使用

    JStree控件选中节点内容,然后进行相关处理操作,那么它处理代码如下所示。...EditTag(); }); 双击事件,其实是连续单击事件处理,一般情况下,或先选中当前节点,我们也可以在双击时候,获取对应节点ID,如下代码所示。...EditViewById(id); }); 也就是可以通过 var id = $(e.target).parents('li').attr('id'); 获取双击节点...ID,获取选择节点名称则可以通过代码获取: var eventNodeName = e.target.nodeName; JSTree一般我们会通过JSON数据进行动态绑定,这个JSON数据格式定义如下所示...}); }); } } 数据保存时候,我们获得JSTree节点选中列表就可以进行数据保存了,具体代码如下所示。

    2.4K50

    最好用 7 个 Vue Tree select 树形组件 - 卡拉云

    接下来介绍 7 款我自己常用 Vue tree select第三方组件,它们各有特色,希望能帮你找到合适你选择器 Vue JSTree - 全功能,树状单选多选,可拖拽,过滤搜索 Vue Draggable...Vue JSTree - 全功能,树状单选多选,可拖拽,过滤搜索 Vue JSTree 放在第一个推荐,因为它涵盖了大多数你需要功能,单选多选,可更换 icon 简单搜索过滤,可任意拖拽子集到集合里...[vue-jstree] Vue JSTree 更多功能: 没有依赖 单选、多选 自定义子集 icon 过滤及搜索 2.Vue draggable nested Tree - 纯树形选择,轻盈趁手 [...3.Vue Tree List Component - 前端可编辑、删除,拖拽,界面友好 [vue-tree-list-all] Vue Tree List Component 是一套制作精良 Vue...直接新建文件夹或子节点,重命名节点名,删除节点。拖拽节点到任意子集中,拖拽 UI 细节做非常棒,有辅助虚线,方便用户在拖拽操作,定位拖拽位置。 4.

    13.6K11

    使用jstree创建无限分级树(ajax动态创建子节点)

    OrderNum { get; set; } public int SonCount { get; set; } } 此类型比数据库表增加了一个属性 SonCount 这个属性用来记录当前节点节点个数...其中请求参数pid为客户端需要获取节点ID 如果请求顶级节点,则此参数值为00000000-0000-0000-0000-000000000000 GetMenu函数获取需要请求节点数据..."jstree-closed" : "jstree-leaf"; $("#tree").append(" 页面加载之初,先请求顶级节点 如果顶级节点SonCount属性大于0 则使节点为闭合状态(样式为jstree-closed...) 如果节点无子节点 则该节点样式为jstree-leaf 当用户点击闭合状态节点,客户端发起请求 并把点击节点ID传给后端,后端获取到点击节点节点后 通过append添加到点击节点下 至此

    1.8K20

    jspservlet使用ajax动态加载dtree, dtree样式图片修改 (java 生成dtree servlet json

    jsTree或者treeView这种jquery插件,这些插件虽然功能很强大,但无奈,太花俏了,需要学习配置很多。...耗了2天在学习jsTree和treeView,都发现不太适合,索性用最原始dtree,效果也不错,而且所有代码简单,能够完全掌握在自己控制之下。 废话不说了。...在这里分享一下,我用ajax加载dtree做法,后台servlet提供json格式tree数据。这个做法应该可以用到做一个系统导航栏上。...,ajax方式获取最新tree,每个json item表示一个节点 $.getJSON('OnlineFileManagerServlet',function(data...tree.add(0,-1,'网络文件夹'); //树根 //遍历JSON每个entry $.

    99020

    JS插件Fancytree使用分享及源码分析

    ,相比普通jsTree,fancytree扩展功能非常多,除了checkbox选中,拖拽排序等基础功能,还有节点过滤,即时编辑,tabletree(在列表中展示jstree),各种键盘事件,以及各种皮肤样式...当设置为true,fancytree只有当前选中节点展开,其余收缩。 checkbox: 默认false。当设置为true,展示checkbox。 debugLevel:默认为2。...其中1为单选,2为多选(但是不会自动勾选上级),3为多选(会自动根据选中节点勾选状态来判断父节点状态),如果是多选的话,推荐换成3。...2.如果是以ajax获取数据资源,渲染tree,并且数据可变状况下,需要对fancytree重新渲染,即: this.http.get({appId: this.stateParams.id}, url.coptApp...}) 3.获取选中节点数据 let selectTree = $("#treetable").fancytree("getTree").rootNode.children; 在选中fancytree某一个节点

    3K20

    用于创建树形部件 jQuery 插件:jsTree

    jsTree 是一个基于 jQuery 和 Sarissa 免费网页树形部件,它设置灵活,并且支持几乎主流浏览器,如:Internet Explorer 6 +, Mozilla Firefox,...jsTree 支持三种数据源头: 预先定义好 HTML -嵌套列表结构 JSON XML jsTree 主要功能有: 同步导入 - 只需要提供一个 URL,就会去请求数据(只适合 JSON 和 XML...支持打开,关闭,重命名,创建,删除节点(通过预先定义好规则) 支持多种回调函数(onchange, oncreate, ondelete, onload, 等等) 支持拖拉 支持多重选择 支持多种语言...支持主题(可以修改图标,大小和背景等等) 可以支持动态打开和关闭(configurable) 可选快捷键导航 支持多个树形部件 另外还可以做为 jQuery 插件。...下载:jsTree。 ----

    1K10

    基于jQuery 常用WEB控件收集

    当链接包括title属性,它内容将变成clueTip标题。clueTip中显示内容可以通过Ajax获取,也可以从当前页面中元素中获取。...JQuery Portlets jstree jsTree是一个基于jQueryTree控件。支持XML,JSON,Html三种数据源。提供创建,重命名,移动,删除,拖\放节点操作。...可以自己自定义创建,删除,嵌套,重命名,选择节点规则。在这些操作上可以添加多种监听事件。...jQuery File Tree通过Ajax来获取文件信息。 jQuery File Tree Farbtastic Farbtastic是一个采用jQuery开发颜色选择器控件。...提供分页功能,添加、编辑、删除和搜索表中记录,支持多种数据类型输入:XML,JSON,Array等,多行选择,支持子表格,集成日期选择控件等等。

    7.5K10

    JS设计模式之基于组合模式code review

    ,功能大体是完成一个jstree增删改等功能,但在看代码过程中,感觉代码结构比较混乱,为此在基于组合模式设计理念上对代码进行一次整理。...组合模式 在JS当中,组合模式可以简单理解为由对象组成树形结构,如图: ? A为树节点,B为A节点,同时B又是DE节点。...首先有这样一个tree,可以在选中某一节点之后,对该节点进行添加子节点删除当前节点等操作。之前项目代码回顾: ? ?...可以看出之前代码存在比较明显缺点是,各个方法使用构建函数创建并调用,并且功能逻辑比较分散,导致我在重新阅读代码,需要不断地去找代码,效率很低。对于读代码的人来说,这是一段可读性较差代码。...,将视图中父子节点逻辑整理组织起来,可读性上要进步一些,而且下次在增加一个类似编辑功能,也不用像之前一样随便插到代码里面。

    65550

    关于 npm 和 yarn 总结一些细节

    yarn 和从 npm5 开始默认加入了一个 dedupe 过程。它会遍历所有节点,逐个将模块放在根节点下面,也就是 node-modules 第一层。当发现有重复模块,则将其丢弃。...工程本身是整棵依赖树节点,每个首层依赖模块都是根节点下面的一棵子树,npm 会开启多进程从每个首层依赖模块开始逐步寻找更深层级节点获取模块。...yarn 和从 npm5 开始默认加入了一个 dedupe 过程。它会遍历所有节点,逐个将模块放在根节点下面,也就是 node-modules 第一层。当发现有重复模块,则将其丢弃。...问题: 幽灵依赖: package.json 里并没有写入包竟然也可以在项目中使用了。...思考:package.json 中固定版本 + package-lock.json 值得思考【这样需求需要装包时或者目录下重新初始化装包波动性更小,可以选择性锁定 package.json 一些核心业务所需

    64140

    JQuery Ztree 树插件配置与应用小结

    ,并且根据返回值确定是否允许删除操作 默认值:null 参数说明 treeIdString 对应 zTree treeId,便于用户操控 treeNodeJSON 将要删除节点 JSON 数据对象...(JSON) 要被拖拽节点 JSON 数据集合 v3.x 允许多个同级节点同时被拖拽,因此将此参数修改为 Array(JSON) 如果拖拽多个被选择节点不是同级关系,则只能拖拽鼠标当前所在位置节点...[setting.check.enable = true 时有效] 参数说明 返回值 Array(JSON) 返回全部勾选状态被改变节点集合 Array 如果需要获取每次操作后全部被改变勾选状态节点数据...,请在每次勾选操作后,遍历所有被改变勾选状态节点数据,让其 checkedOld = checked 就可以了。...返回值 Array(JSON) 返回全部符合要求节点集合 Array function 举例: 获取当前被勾选节点集合 var treeObj = $.fn.zTree.getZTreeObj("tree

    7.2K40

    python操作Xml文件

    一、简单介绍 Xml是实现不同语言或程序进行数据交换协议,跟json差不多,但是xml远远先于json出现,例如在很多传统金融行业很多系统接口还主要是xml格式。...所以我们要得到或操作各个节点值,就需要依次进行遍历操作。 三、对XML文件三种常见操作: 1.获取tag(标签) 如下图所示: ? 2.获取attrib(属性) 如下图所示: ?...以上修改操作,截止到目前为止只是在计算机内存中完成,需要重新写入文件中,为了便于区分,我们重新写入(tree.write ()方法)一个文件。如下图所示: ?...6.删除不满足标签 删除二级节点Item属性width>250,代码如下: ?...根节点标签 rtag = root.tag print(rtag) #遍历根节点,得一级子节点 for i in root: #获取一级子节点标签 ctag = i.tag

    89820

    python知识点

    极端情况某个key就是没找到,而其占有内存还很大; redis综合上面几种过期删除方式;最终 使用 惰性删除+定期删除 组合方式 达到 cpu和内存一个合理平衡; 内存淘汰机制: 在内存耗尽,..., 所以同一间只能有一个线程 获取权限 执行操作; 其实是历史遗留问题; 解决方法: 1.使用 Jython解释器; 2.使用多进程 https://www.cnblogs.com/zipxzf/p/...2个子节点,查询复杂度最坏情况为 log2(X); 当X=4,函数值为2;也就是查询深度为2 B Tree 一个个节点可以挂多个子节点(假设挂4个子节点),查询复杂度最坏情况为 log4(X);当...,由于索引和数据是存储在一起,所以 索引按照顺序排序,数据当然也是按照顺序存放在 物理空间中; 当使用主键自增,索引及数据 只需放在索引树尾部添加即可;这样对 索引树 修改,从新排序 等影响最小...; 如果不是主键自增,而是 随机数,那么 在每次新增数据 对 索引树修改变动范围较大,复杂度增加,造成不必要资源浪费; 需要 不断分页等等,造成磁盘碎片化高等情况; 且 主键尽量使用int类型,

    60410

    生成接口测试报告

    查找指定节点: 当XML文件较大或者其中节点tag非常多时候,一个一个获取是比较麻烦而且有很多不是我们需要,这样我们可以通过find('nodeName')或者findall('nodeName...(children.tag, ":", children.attrib) 可以通过下标的方式直接访问节点 # 访问根节点下第一个country第二个节点year,获取对应文本 year = root...获取属性 set(key, value) # 更新/添加 属性 del xxx.attrib[key] # 删除对应属性 节点/元素 相关 删除子元素remove() import xml.etree.ElementTree...as ET tree = ET.parse("country.xml") root = tree.getroot() # 删除rank大于50国家 for country in root.iter...之前考虑过每次执行命令都要先去目录下清空报告文件夹和jtl,还要敲命令,很烦,后来想了一个方法,那就是写一个bat,每次执行bat都自动去清空之前报告,然后执行命令   命令如下:   del

    1.1K20

    CMU 15-445 -- Index Concurrency Control - 06

    latch,线程也可以继续获取 read mode latch Write Mode: 同一间只有单个线程可以访问 针对相同数据,如果获取前已经有别的线程获得任何 mode latch...,线程就无法获取 write mode latch ---- B+ Tree Concurrency Control 我们希望在最大程度上允许多个线程同时读取、更新同一个 B+ Tree index...想要查询 41 删除 44 ,DBMS 需要 rebalance D 节点,将 H 节点拆分成两个节点 若在拆分前,T2 读取到 D 节点,发现 41 在 H 节点,此时时间片轮转到了 T1,T1... latch 这里“安全”指的是,当发生更新操作,该节点不会发生 split 或 merge 操作,即: 在插入元素节点未满 在删除元素节点超过半满 Search: 从 root 往下...---- Delayed Parent Updates 从上文中,我们可以观察到:每当 leaf node 溢出,我们都需要更新至少 3 个节点: 即将被拆分 leaf node leaf node

    15220
    领券