全网整合营销服务商

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

免费咨询热线: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如何改变指定节点文本样式  # 加载  # 单击  # 小编  # 是有  # 在此  # 而在  # 一遍  # 给大家  # 一说  # 一个叫  # 也对  # 可为  # 对啊  # 所述  # 给我留言  # 官网  # 感谢大家  # 为空  # 没给  # 后端 


相关文章: 如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  如何挑选高效建站主机与优质域名?  如何自定义建站之星网站的导航菜单样式?  建站之星北京办公室:智能建站系统与小程序生成方案解析  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何在香港服务器上快速搭建免备案网站?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  如何用5美元大硬盘VPS安全高效搭建个人网站?  建站之星如何取消后台验证码生成?  如何彻底卸载建站之星软件?  建站主机与虚拟主机有何区别?如何选择最优方案?  如何配置FTP站点权限与安全设置?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  如何快速生成高效建站系统源代码?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  动图在线制作网站有哪些,滑动动图图集怎么做?  实例解析angularjs的filter过滤器  内部网站制作流程,如何建立公司内部网站?  北京专业网站制作设计师招聘,北京白云观官方网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  如何用y主机助手快速搭建网站?  C#怎么使用委托和事件 C# delegate与event编程方法  淘宝制作网站有哪些,淘宝网官网主页?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  成都网站制作报价公司,成都工业用气开户费用?  如何在万网ECS上快速搭建专属网站?  如何通过建站之星自助学习解决操作问题?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  建站中国官网:模板定制+SEO优化+建站流程一站式指南  建站之星代理平台如何选择最佳方案?  行程制作网站有哪些,第三方机票电子行程单怎么开?  建站之星安装提示数据库无法连接如何解决?  如何正确下载安装西数主机建站助手?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  深圳网站制作案例,网页的相关名词有哪些?  如何选择香港主机高效搭建外贸独立站?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何选择PHP开源工具快速搭建网站?  Android自定义控件实现温度旋转按钮效果  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  IOS倒计时设置UIButton标题title的抖动问题  智能起名网站制作软件有哪些,制作logo的软件?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  家庭建站与云服务器建站,如何选择更优? 

您的项目需求

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