使用JQuery技术实现简单树形结构(带复选框)

JQuery 实现简单复选框树形结构 其实关于树形结构图,网上有很多插件,已经把全套的都封装好了的;但是最近公司需要做一个复选框树形结构,并且最关键的是要嵌入到JSP页面中,传递的数据不是用JSON传递的,是直接通过后端跳JSP页面的方式来的,所以就没有用网上的插件,就自己写了一下简单实现 阅读详情

参考:https://blog.csdn.net/u011113654/article/details/49853271 

一、实现的具体功能

1、最左边的图形按钮实现子目录的隐藏和显示

2、点击父节点的复选框,父节点下的所有的子节点都被选中;若父节点未选中,则下面的所有子节点取消选中(全选和全不选)

3、选中一个子节点时相应的父节点也被选中;当所有的子节点都没有选中时,父节点也取消选中。

二、JS代码

2.1 子目录的隐藏和显示

<div class="layer_Type">
                     <img class="tree_node_toggle_img" style="float:left;margin-top:8px;" src="${ctx}/gis/image/togger.png" />
                     <input type="checkbox" id="tdt" class="parent_checkbox" onclick="checkchange(this);"/>
                     <label for="tdt">天地图</label>
                </div>
                <div class="layer_Name">
                    <div>
                        <input type="checkbox" id="tdt_ditu" class="child_checkbox" onclick="checkchange(this);"/>
                        <label for="tdt_ditu">天地图底图</label>
                    </div>
                    <div>
                        <input type="checkbox" id="tdt_zhuji" class="child_checkbox" onclick="checkchange(this);"/>
                        <label for="tdt_zhuji">天地图地注记</label>
                    </div>
                 </div>

上面是某一小段树形结构的HTML结构;下面是子目录的隐藏和显示点击事件:

   $(".tree_node_toggle_img").click(function () {
      // 获取需要隐藏或显示的节点
      var $toggle_node = $(this).parent().next();
      $toggle_node.slideToggle(); // 切换隐藏或显示
    });

2.2 全选/全不选

 // 为所有的父节点添加点击事件
  $(".parent_checkbox").click(function(){
    // 获取父节点是否选中
    var isChange = $(this).prop("checked");
    if(isChange) { 
    // 如果选中,则父节点下的所有的子节点都选中
    $(this).parent().next().find(".child_checkbox").prop("checked", true);
    }else { 
	    	// 未选中,取消全选
	    	$(this).parent().next().find(".child_checkbox").removeAttr("checked");
         }
    });

注:切换checkbox的选中要用prop()方法,不能用attr()。

关于prop和attr的区别可自行了解。

4.选中子节点后父节点的相应变化状态 

    // 为所有的子节点添加点击事件
    $(".child_checkbox").click(function () {
    // 获取选中的节点的父节点下的所有子节点选中的数量
    var length = $(this).parent().parent().find(".child_checkbox:checked").length;
    // 判断当前结点是否选中
    if($(this).prop("checked")) { 
    // 如果当前节点选中后,所有的选中节点数量1,选中父节点
	   if(length == 1){
			// 选中父节点
			$(this).parent().parent().prev().find(".parent_checkbox").prop("checked", true);
	    	}
	    } else{
	     	// 节点未选中
			if(length == 0){
			// 取消父节点的选中状态
		     $(this).parent().parent().prev().find(".parent_checkbox").removeAttr("checked");
		    }
	   	}
    });

 

 

使用jQuery实现复选框树形结构图教程 树形结构图是一种用于表示层次关系的数据结构,它的特点是以节点为基础,通过节点间的连接线来表示节点之间的父子关系。在树形结构图中,每个节点只有一个父节点,除了根节点外,每个节点可以有多个子节点。这种结构广泛应用于文件系统、组织结构、网站导航等领域。在树形结构中,每个节点都有其特定的角色和功能。一个树节点通常包含以下属性:id:节点的唯一标识符。name:节点的名称,用于显示。parent_id:父节点的ID,顶级节点的这个值为空或特定值,如0或null。children。 阅读详情

相关推荐

构建高效树形结构复选框jQuery插件highchecktree

jQuery tree形结构插件highchecktree是基于jQuery框架开发的一款专门用于构建树形控件的插件,它能够为用户提供一个清晰的层级结构视图,用于显示和管理具有层级关系的数据。该插件不仅能实现基本的树形结构,还能支持复选框、多选、搜索等功能。懒加载是一种前端优化技术,它能够延迟加载图片或其他媒体资源的加载时间,直到用户滚动到它们即将进入视口的区域。这种方法可以显著减少页面加载时间,提升用户体验,特别是在内容较多的页面中,能够有效地减少首次加载的资源和宽消耗。

weixin_42608318的博客 754

jQuery高性能复选框树形结构插件

highchecktree是一款使用指定源数据生成复选框树形结构jQuery插件。该树形结构插件对于在大数据的处理上性能十分出色。它使用懒加载的形式来提供性能,子节点会在点击时才去加载数据。

jQuery-zTree:构建交互式树形结构的终极指南

jQuery-zTree 是一款灵活的、可扩展的 jQuery 树插件,支持无限节点的树形数据结构,被广泛应用于动态网页设计中。它不仅支持基础的树形展示,还具备节点管理、复选框、图标定制、搜索功能等多项高级特性,为网页提供了丰富的交互体验。在zTree中,每个节点可以显示一个或多个图标,通常这些图标用于表示节点的状态,如已选中、有子节点等。开发者可以根据需要自定义这些图标。要实现自定义图标,首先需要在节点的数据结构中指定icon属性,用来存放图标的相关信息。

weixin_42355400的博客 1203

jQuery 树形结构插件 zTree

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

jQuery树形复选框插件

https://download.csdn.net/download/billhepeng/11971317

billhepeng的专栏 902

Jquery实现无限目录树形结构,实现的几种方式?

1.静态写法:(固定的几个目录可以用这种方法实现); 效果图: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scal

weixin_46409887的博客 1698

php树形结构展示复选框,JQuery实现简单复选框树形结构图示例【附源码下载】...

本文实例讲述了JQuery实现简单复选框树形结构图。分享给大家供大家参考,具体如下:这是自己写的简单树形结构图,实现的功能有:1.最左边的按钮实现子目录的隐藏和显示2.点击父节点的复选框选中后,父节点下的所有的子节点也选中;父节点未选中,则下面的所有的子节点也取消选中(全选和全不选)3.选中一个子节点时相应的父节点也选中;当所有的子节点都没有选中时,父节点也取消选中这是实现的最简单的功能。下面来...

weixin_28819153的博客 250

AngularJS+JQuery 做的一个复选框树形结构

ng-app="com.ngbook.demo" class="ng-scope"> name="description" content="ng trrview example"> href="//cdn.bootcss.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" type="text/cs

David宫洪深的博客 3196

html树形多选框,用HTML+JQuery实现树形结构复选框

ul {display: block;list-style: none;cursor: pointer;}#lv2U,#lv3U1,#lv3U2,#lv3U3 {display: none;}#tree img {display: block;float: left;width: 20px;height: 20px;}.lv3Checks{display: block; float: left; ...

weixin_29502579的博客 1517

【亲测免费】 jQuery Tree:轻量级树形结构jQuery插件

jQuery Tree:轻量级树形结构jQuery插件 1. 项目基础介绍 jQuery Tree 是一个由 Valerio Galano 开发的开源项目,它是一个基于 jQueryjQuery UI 的树形结构插件。该插件利用 jQuery 的强大功能,通过简洁的 API 提供了创建和管理树形结构的解决方案,主要编程语言为 JavaScript。 2. 核心功能 轻量级:压缩后的版本大小...

gitblog_00160的博客 685

ztree树形结构插件点击,复选框事件给传值

将树形节点中,存储的参数,点击以后赋给变量,已起到给下面接口调用的做用。 / 申明三个全局数组用来绑定第二级结构树中点击的参数 var my_relatedtopos = []; //树形结构 var zTree; var demoIframe; var setting = { check: { enable: true }, view...

qq_35479013的博客 1017

ztree--ztree树形结构显示数据+复选框+回显勾选选中值

** 1.ztree后台接口数据格式 var zNodes = [ {"id":1, "pId":0, "name":"test1"}, {"id":11, "pId":1, "name":"test11"}, {"id":12, "pId":1, "name":"test12"}, {"id":111, "pId":11, "name":"test111"} ]; ** 2.ztree前端页面使用 $(function () { var setting = {

weixin_42342065的博客 7200

如何快速掌握jsTree:打造交互式jQuery树形结构的完整指南

jsTree是一款功能强大的jQuery树形结构插件,它允许开发者在网页中轻松创建可交互的树形结构,广泛应用于文件管理、分类导航、权限控制等场景。无论是构建简单的目录树还是复杂的层级数据展示,jsTree都能提供高效且美观的解决方案。 ## 🌟 jsTree的核心优势与应用场景 ### 为什么选择jsTree? - **轻量级设计**:作为jQuery插件,jsTree体积小巧但功能丰富,不

gitblog_01085的博客 1018

html复选框树形结构,jQuery复选框树形控件wdTree

wdTree是一个轻量级jQuery插件用于展示复选框的树形控件。支持从数据库懒加载节点,可以配置节点属性。 var userAgent = window.navigator.userAgent.toLowerCase();$.browser.msie8 = $.browser.msie && /msie 8\.0/i.test(userAgent);$.browser.msi...

weixin_33535402的博客 580

js中,jquery的ztree使用,使用复选框

使用jquery的ztree,首先加入相关的css和js: zTreeStyle.css,jquery.ztree.core-3.5.min.js,如果需要复选框,还需要加入一个js:jquery.ztree.excheck-3.5.min.js (1)html中,代码如下所示: <input type="text" class="form-control" plac...

weixin_42575593的博客 664

jquery Treeview插件的使用复选框的级联

  本文是对jquery的Treeview插件使用的实例介绍   效果图如下:      文件结构如下:      jquery_treeview下的目录:      树型结构显示+复选框级联.html的内容:    1 <html> 2 <head> 3 <meta http-e...

weixin_30394333的博客 225

jQuery树插件zTree使用指南:构建高效数据树形结构

zTree是一款基于jQuery的多功能树插件,以其优异的性能、灵活的配置和强大的功能组合而著称。作为一款开源免费的软件,zTree采用MIT许可证,为开发者提供了构建复杂树形数据结构的完整解决方案。 ## 项目概述 zTree v3.x版本对核心代码进行了功能分割,允许开发者只加载所需的功能模块。该插件采用延迟加载技术,能够轻松处理上万节点数据,即使在IE6浏览器中也能快速加载。zTree兼

gitblog_00034的博客 1078

jQuery 系列:28款jQuery Tree 树形结构插件

1)jQuery File Tree (2)jQuery plugin: Treeview (演示地址) 这个插件能够把无序列表转换成可展开与收缩的Tree。 (3)jstree jstree是一个基于jQuery的Tree控件。支持XML,JSON,Html三种数据源。提供创建,重命名,移动,删除,拖”放节点操作。可以自己自定义创建,删除,嵌套,重命名,选择节点的规则。在这些操作

行成于思,形之于文 4033
上一篇: this在不同场合的解释
下一篇: 使用jQuery对select下拉菜单进行选择操作
Hard042
博客等级 码龄10年 8粉丝 18原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值