使用jQuery+EasyUI实现CheckBoxTree的级联选中特效


Posted in Javascript onDecember 06, 2015

需求:子结点选中,父节点随之选中,父节点取消,子节点随之取消

代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
  <link href="js/themes/default/easyui.css" rel="stylesheet" />
  <link href="js/themes/icon.css" rel="stylesheet" />
  <script src="js/jquery-1.8.0.min.js"></script>
  <script src="js/jquery.easyui.min.js"></script>
  <script src="js/locale/easyui-lang-zh_CN.js"></script>
  <script type="text/javascript">
    var data = [{
      "id": 1,
      "text": "系统",
      "children": [{
        "id": 11,
        "text": "用户管理",
        "children": [{
          "id": 19,
          "text": "增加"
        }, {
          "id": 3,
          "text": "修改"
        }, {
          "id": 5,
          "text": "删除"
        }]
      }, {
        "id": 12,
        "text": "角色管理",
        "children": [{
          "id": 13,
          "text": "增加"
        }, {
          "id": 3,
          "text": "修改"
        }, {
          "id": 5,
          "text": "删除"
        }]
      }]
    }, {
      "id": 2,
      "text": "其他",
      "state": "closed"
    }];

    $(function () {
      $("#tt").tree({
        data: data,
        checkbox: true,
        cascadeCheck: false,
        onCheck: function (node, checked) {
          if (checked) {
            var parentNode = $("#tt").tree('getParent', node.target);
            if (parentNode != null) {
              $("#tt").tree('check', parentNode.target);
            }
          } else {
            var childNode = $("#tt").tree('getChildren', node.target);
            if (childNode.length > 0) {
              for (var i = 0; i < childNode.length; i++) {
                $("#tt").tree('uncheck', childNode[i].target);
              }
            }
          }
        }
      });
    });

    function getChecked()
    {
      var arr = [];
      var checkeds = $('#tt').tree('getChecked', 'checked');
      for (var i = 0; i < checkeds.length; i++) {
        arr.push(checkeds[i].id);
      }
      alert(arr.join(','));
    }

  </script>
</head>
<body>
  <ul id="tt"></ul>
  <input type="button" value="获取选中" onclick="getChecked()" />
</body>
</html>

如图:

使用jQuery+EasyUI实现CheckBoxTree的级联选中特效

Javascript 相关文章推荐
简短几句jquery代码的实现一个图片向上滚动切换
Sep 02 Javascript
在Node.js应用中读写Redis数据库的简单方法
Jun 30 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
Dec 03 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
Jun 09 Javascript
AngularJS 模型详细介绍及实例代码
Jul 27 Javascript
最原始的jQuery注册验证方式
Oct 11 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
Jul 17 Javascript
基于vue实现一个禅道主页拖拽效果
May 27 Javascript
vue路由传参页面刷新参数丢失问题解决方案
Oct 08 Javascript
vue实现树形结构样式和功能的实例代码
Oct 15 Javascript
vue抽出组件并传值实例
Jul 31 Javascript
Vue 根据条件判断van-tab的显示方式
Aug 03 Javascript
javascript字符串函数汇总
Dec 06 #Javascript
win7下安装配置node.js+express开发环境
Dec 06 #Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 #Javascript
如何利用AngularJS打造一款简单Web应用
Dec 05 #Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
Dec 05 #Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
Dec 04 #Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
Dec 04 #Javascript
You might like
一个简易需要注册的留言版程序
2006/10/09 PHP
php中socket的用法详解
2014/10/24 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
在Python中使用Neo4j数据库的教程
2015/04/16 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
python 接收处理外带的参数方法
2018/12/03 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
打印机墨盒:123Inkjets
2017/02/16 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
英国排名第一的宠物店:PetPlanet
2020/02/02 全球购物
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
2014年电教工作总结
2014/12/19 职场文书
中学校园广播稿
2015/08/18 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
MySQL的Query Cache图文详解
2021/07/01 MySQL
Python+tkinter实现高清图片保存
2022/03/13 Python
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL