全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jQuery zTree树插件动态加载实例代码

需求:

  由于项目中家谱图数据量超大,而一般加载方式是通过,页面加载时 zTree.init方法进行数据加载,将所有数据一次性加载到页面中。而在项目中家谱级别又非常广而深,成千上万级,因此一次加载,完全加载不出来。于是需要进行优化为动态加载(增量加载)的方式,以便数据加载,提高体验度。

解决断路:

  这应该好办,只要找到父节点单击事件,然后进行数据加载,结点附加即可。时间紧,任务重,完全没给研究的时间。只能硬着上,随便搜索一个“zTree动态加载”,出是出来了,标题也对,可里面的代码根本没找到添加结点一说……一边是需求催,一边是没找到类似。无语……对啊,不是有官网,于是把所有api函数浏览一遍,终于发现一个叫addNodes的函数。喜!

控件代码

<div class="UserTree">
  <ul id="treeDemo" class="ztree"></ul>
</div>

脚本代码(实现结点展开、单击事件时进行动态加载):

<script>
  var zNodes;
  var zTree;
  $(function () {
    $.ajax({
      cache: true,
      type: "get",
      url: "/User/NextLeve",
      async: false,
      success: function (data) {
        zNodes = data;
      },
      error: function (data) {
        alert("error");
      }
    });
    zTree = ZTreeCustom.init($("#treeDemo"), setting, zNodes);
    zTree.expandAll(false);
  })
  var setting = {
    view: {
      nameIsHTML: true
    },
    data: {
      simpleData: {
        enable: true
      },
      keep: {
        parent: true
      }
    },
    open: false,
    callback: {
      onClick: nodeClick,
      onExpand: function (event, treeId, treeNode) {
        addSubNode(treeNode);
      }
    }
  };
  function showIconForTree(treeId, treeNode) {
    return !treeNode.isParent;
  };
  function searchM() {
    var username = $("#txtName").val()
  }
  function nodeClick(event, treeId, treeNode, clickFlag) {
    addSubNode(treeNode);
  }
  function addSubNode(treeNode) {
    if (!treeNode.isParent) return;
    var s = treeNode.children;
    if (s != undefined)
      return;
    $.ajax({
      cache: true,
      type: "get",
      url: "/User/NextLeve",
      data: { userId: treeNode.id },
      async: true,
      success: function (data) {
        zTree.addNodes(treeNode, data);
      },
      error: function (data) {
        alert("error");
      }
    });
  }
</script>

其中后端请求:

  其中数据来源为请求路径“/User/NextLeve?userId=xxx”,为返回如下结构的列表的json数据(即List<UserNode>类型的.ToJson()数据),其中userId可为,为空时默认取当前登录用户:

public class UserNode
{
  public long id { get; set; }
  public long pId { get; set; }
  public string name { get; set; }
  public bool open { get; set; }
  public bool isParent { get; set; }
  public string icon { get; set; }
}

效果,则实现为单击父结点/展开父结点时动态加载子结点。

以上所述是小编给大家介绍的jQuery zTree树插件动态加载效果实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ztree树插件动态加载  # 基于jQuery ztree实现表格风格的树状结构  # jQuery zTree 异步加载添加子节点重复问题  # jQuery 利用ztree实现树形表格的实例代码  # zTree jQuery 树插件的使用(实例讲解)  # jQuery使用zTree插件实现可拖拽的树示例  # jQuery EasyUI结合zTree树形结构制作web页面  # jQuery插件zTree实现的多选树效果示例  # jQuery zTree如何改变指定节点文本样式  # 加载  # 单击  # 小编  # 是有  # 在此  # 而在  # 一遍  # 给大家  # 一说  # 一个叫  # 也对  # 可为  # 对啊  # 所述  # 给我留言  # 官网  # 感谢大家  # 为空  # 没给  # 后端 


相关文章: 昆明高端网站制作公司,昆明公租房申请网上登录入口?  建站之星安装后如何自定义网站颜色与字体?  建站主机与服务器功能差异如何区分?  如何通过NAT技术实现内网高效建站?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  黑客如何通过漏洞一步步攻陷网站服务器?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  如何在阿里云购买域名并搭建网站?  浅谈Javascript中的Label语句  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  ,sp开头的版面叫什么?  太平洋网站制作公司,网络用语太平洋是什么意思?  网站制作壁纸教程视频,电脑壁纸网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  电商平台网站制作流程,电商网站如何制作?  在线教育网站制作平台,山西立德教育官网?  三星网站视频制作教程下载,三星w23网页如何全屏?  如何构建满足综合性能需求的优质建站方案?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  学校为何禁止电信移动建设网站?  如何通过虚拟主机快速完成网站搭建?  公众号网站制作网页,微信公众号怎么制作?  如何通过免费商城建站系统源码自定义网站主题与功能?  小型网站制作HTML,*游戏网站怎么搭建?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  TestNG的testng.xml配置文件怎么写  建站之星2.7模板快速切换与批量管理功能操作指南  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  定制建站流程解析:需求评估与SEO优化功能开发指南  ,购物网站怎么盈利呢?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  广州美橙建站如何快速搭建多端合一网站?  如何使用Golang安装API文档生成工具_快速生成接口文档  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  c# 在ASP.NET Core中管理和取消后台任务  如何选择网络建站服务器?高效建站必看指南  广州营销型建站服务商推荐:技术优势与SEO优化解析  音乐网站服务器如何优化API响应速度?  如何在Windows服务器上快速搭建网站?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  高端网站建设与定制开发一站式解决方案 中企动力  ,网站推广常用方法?  如何破解联通资金短缺导致的基站建设难题?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  建站主机选购指南:核心配置优化与品牌推荐方案  家庭建站与云服务器建站,如何选择更优? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。