20zTree - checkbox 勾选统计

简介: 20zTree - checkbox 勾选统计

效果图:

代码:

<!DOCTYPE html>
<HTML>
<HEAD>
  <TITLE> ZTREE DEMO - getChangeCheckedNodes / getCheckedNodes</TITLE>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <link rel="stylesheet" href="../../../css/demo.css" type="text/css">
  <link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
  <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
  <script type="text/javascript" src="../../../js/jquery.ztree.core.js"></script>
  <script type="text/javascript" src="../../../js/jquery.ztree.excheck.js"></script>
  <!--
  <script type="text/javascript" src="../../../js/jquery.ztree.exedit.js"></script>
  -->
  <SCRIPT type="text/javascript">
    <!--
    var setting = {
      view: {
        selectedMulti: false
      },
      check: {
        enable: true
      },
      data: {
        simpleData: {
          enable: true
        }
      },
      callback: {
        onCheck: onCheck
      }
    };
    var zNodes =[
      { id:1, pId:0, name:"随意勾选 1", open:true},
      { id:11, pId:1, name:"随意勾选 1-1"},
      { id:12, pId:1, name:"随意勾选  1-2", open:true},
      { id:121, pId:12, name:"随意勾选 1-2-1", checked:true},
      { id:122, pId:12, name:"随意勾选 1-2-2"},
      { id:123, pId:12, name:"随意勾选 1-2-3"},
      { id:13, pId:1, name:"随意勾选 1-3"},
      { id:2, pId:0, name:"随意勾选 2", open:true},
      { id:21, pId:2, name:"随意勾选 2-1"},
      { id:22, pId:2, name:"随意勾选 2-2", open:true},
      { id:221, pId:22, name:"随意勾选 2-2-1", checked:true},
      { id:222, pId:22, name:"随意勾选 2-2-2"},
      { id:223, pId:22, name:"随意勾选 2-2-3"},
      { id:23, pId:2, name:"随意勾选 2-3", checked:true}
    ];
    var clearFlag = false;
    function onCheck(e, treeId, treeNode) {
      count();
      if (clearFlag) {
        clearCheckedOldNodes();
      }
    }
    function clearCheckedOldNodes() {
      var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
      nodes = zTree.getChangeCheckedNodes();
      for (var i=0, l=nodes.length; i<l; i++) {
        nodes[i].checkedOld = nodes[i].checked;
      }
    }
    function count() {
      var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
      checkCount = zTree.getCheckedNodes(true).length,
      nocheckCount = zTree.getCheckedNodes(false).length,
      changeCount = zTree.getChangeCheckedNodes().length;
      $("#checkCount").text(checkCount);
      $("#nocheckCount").text(nocheckCount);
      $("#changeCount").text(changeCount);
    }
    function createTree() {
      $.fn.zTree.init($("#treeDemo"), setting, zNodes);
      count();
      clearFlag = $("#last").attr("checked");
    }
    $(document).ready(function(){
      createTree();     
      $("#init").bind("change", createTree);
      $("#last").bind("change", createTree);
    });
    //-->
  </SCRIPT>
</HEAD>
<BODY>
<h1>checkbox 勾选统计</h1>
<h6>[ 文件路径: excheck/checkbox_count.html ]</h6>
<div class="content_wrap">
  <div class="zTreeDemoBackground left">
    <ul id="treeDemo" class="ztree"></ul>
  </div>
  <div class="right">
    <ul class="info">
      <li class="title"><h2>1、getChangeCheckedNodes / getCheckedNodes 方法操作说明</h2>
        <ul class="list">
        <li class="highlight_red">使用 zTreeObj.getChangeCheckedNodes / getCheckedNodes 方法,详细请参见 API 文档中的相关内容</li>
        <li><p>去勾选 checkbox 比较下面的数字变化:<br/>
          <ul id="log" class="log" style="height:110px;">
            <li>当前被勾选的节点共 <span id="checkCount" class="highlight_red"></span> 个</li>
            <li>当前未被勾选的节点共 <span id="nocheckCount" class="highlight_red"></span> 个</li>
            <li>勾选状态对比规则:<input type="radio" id="init" name="stateType" class="radio first" checked /><span>与 zTree 初始化时对比</span><br/>
              <input type="radio" id="last" name="stateType" class="radio first" style="margin-left:108px;"/><span>与上一次勾选后对比</span></li>
            <li>当前被修改勾选状态的节点共 <span id="changeCount" class="highlight_red"></span> 个</li>
          </ul></p>
        </li>
        </ul>
      </li>
      <li class="title"><h2>2、setting 配置信息说明</h2>
        <ul class="list">
        <li>同 "checkbox 勾选操作" 中的说明</li>
        </ul>
      </li>
      <li class="title"><h2>3、treeNode 节点数据说明</h2>
        <ul class="list">
        <li>同 "checkbox 勾选操作" 中的说明</li>
        </ul>
      </li>
    </ul>
  </div>
</div>
</BODY>
</HTML>
目录
相关文章
|
4月前
|
人工智能 关系型数据库 分布式数据库
手把手搭本地 RAG!用阿里云 PolarDB、Lindorm+Ollama,数据隐私全自己把控
教你用阿里云PolarDB和Lindorm存向量,Ollama跑本地大模型,LangChain串联流程,打造数据不出私网的离线智能问答系统,安全、省钱、可私有化部署,新手也能快速上手!
404 1
|
12月前
|
Ubuntu Linux 网络安全
Linux磁盘挂接教程
Linux磁盘挂接教程
224 14
|
负载均衡 监控 网络协议
SpringCloud之Ribbon使用
通过以上步骤,就可以在Spring Cloud项目中有效地使用Ribbon来实现服务调用的负载均衡,提高系统的可靠性和性能。在实际应用中,根据具体的业务场景和需求选择合适的负载均衡策略,并进行相应的配置和优化,以确保系统的稳定运行。
554 15
ly~
|
人工智能 搜索推荐 自动驾驶
人工智能的应用
人工智能在多个领域广泛应用,包括:医疗领域的疾病诊断、药物研发和医疗机器人;交通领域的自动驾驶和智能交通管理;金融领域的风险评估、金融诈骗检测和投资决策;教育领域的个性化学习和智能辅导;工业领域的质量检测和生产流程优化;家居领域的智能家居系统,如智能音箱和智能灯具等,极大提升了各行业的效率与服务质量。
ly~
913 1
|
运维 监控 Kubernetes
中间件故障转移自动切换
【7月更文挑战第25天】
293 2
|
分布式计算 大数据 Hadoop
大数据编程期末大作业2023
大数据编程期末大作业2023
666 1
|
存储 消息中间件 分布式计算
对于一般大数据物流项目的面试题(问题+答案)
对于一般大数据物流项目的面试题(问题+答案)
281 0
|
缓存 Java 测试技术
Java中的反射机制及其应用场景
Java中的反射机制及其应用场景
|
存储 机器学习/深度学习 缓存
加速Python循环的12种方法,最高可以提速900倍
在本文中,我将介绍一些简单的方法,可以将Python for循环的速度提高1.3到900倍。
472 1
|
机器学习/深度学习 编解码 算法
ASF-YOLO开源 | YOLOv5范式永不言败,SSFF融合+TPE编码+CPAM注意力,再战精度巅峰!
ASF-YOLO开源 | YOLOv5范式永不言败,SSFF融合+TPE编码+CPAM注意力,再战精度巅峰!
974 0