jquery.ztree增加checkbox选项(可选以及不可选)

有一棵树,我们只需要其中几个节点可以通过勾选前面checkbox来对其进行操作,且这个操作需要动态执行。应该如何实现呢?

==========》

面对这样一个需求,如果我们使用的是zTree树控件,那么将会变得非常地简单。

面对这样一个需求,如果我们使用的是zTree树控件,那么将会变得非常地简单。

1、引入ztree树相关的js文件

view
source
print?

1.<link rel="stylesheet" href="../../../css/demo.css" type="text/css">

2.<link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">

3.<script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>

4.<script type="text/javascript" src="../../../js/jquery.ztree.core-3.5.js"></script>

5.<script type="text/javascript" src="../../../js/jquery.ztree.excheck-3.5.js"></script>

注意excheck.js文件是一定要引入的,要不然会导致节点前的checkbox无法显示和操作。

2、默认设置每一个节点的nocheck属性值为true

nocheck表示无checkbox选择框,属性值设置为true,表示不会显示节点前面的checkbox选择框。所以需要我们在提供节点数据给zTree树控件之前设置好每一个节点的nocheck值为true,示例数据形如:

view
source
print?

01.//ztree用于初始化的静态数据       

02.var zNodes
= [

03.{
id: 1, pId: 0, name: 
"随意勾选
1"
,
nocheck: 
true },

04.{
id: 11, pId: 1, name: 
"随意勾选
1-1"
,
nocheck: 
true },

05.{
id: 111, pId: 11, name: 
"无
checkbox 1-1-1"
,
nocheck: 
true },

06.{
id: 112, pId: 11, name: 
"随意勾选
1-1-2"
,
nocheck: 
true },

07.{
id: 12, pId: 1, name: 
"无
checkbox 1-2"
,
nocheck: 
true },

08.{
id: 2, pId: 0, name: 
"随意勾选
2"
,
nocheck: 
true },

09.];

3、动态设置节点前显示checkbox

想要让某个节点显示checkbox选择框,就必须要更新其nocheck属性值为false即可。核心方法如下所示:

view
source
print?

01.//过滤节点的机制
直接return node表示不做任何过滤

02.function filter(node)
{

03.return node;

04.}

05. 

06.///动态设置zTree的所有节点有checkbox

07.function DynamicUpdateNodeCheck()
{

08.var zTree
= $.fn.zTree.getZTreeObj(
"treeDemo");

09.//根据过滤机制获得zTree的所有节点           

10.var nodes
= zTree.getNodesByFilter(filter);

11.//遍历每一个节点然后动态更新nocheck属性值

12.for (var i
= 0; i < nodes.length; i++) {

13.var node
= nodes[i];

14.node.nocheck
false//表示显示checkbox

15.zTree.updateNode(node);

16.}

17.}

完整示例代码如下所示:

<!DOCTYPE html>
<html>
<head>
    <title>ZTREE DEMO - 默认zTree几点无checkbox动态设置节点checkbox出现</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-3.5.js"></script>
    <script type="text/javascript" src="../../../js/jquery.ztree.excheck-3.5.js"></script>
    <script type="text/javascript">
		<!--
        var setting = {
            check: {
                enable: true,
                nocheckInherit: false
            },
            data: {
                simpleData: {
                    enable: true
                }
            }
        };
        //ztree用于初始化的静态数据
        var zNodes = [
	        { id: 1, pId: 0, name: "随意勾选 1", nocheck: true },
	        { id: 11, pId: 1, name: "随意勾选 1-1", nocheck: true },
	        { id: 111, pId: 11, name: "无 checkbox 1-1-1", nocheck: true },
	        { id: 112, pId: 11, name: "随意勾选 1-1-2", nocheck: true },
	        { id: 12, pId: 1, name: "无 checkbox 1-2", nocheck: true },
	        { id: 2, pId: 0, name: "随意勾选 2", nocheck: true },
        ];

        //过滤节点的机制 直接return node表示不做任何过滤
        function filter(node) {
            return node;
        }

        ///动态设置zTree的所有节点有checkbox
        function DynamicUpdateNodeCheck() {
            var zTree = $.fn.zTree.getZTreeObj("treeDemo");
            //根据过滤机制获得zTree的所有节点
            var nodes = zTree.getNodesByFilter(filter);
            //遍历每一个节点然后动态更新nocheck属性值
            for (var i = 0; i < nodes.length; i++) {
                var node = nodes[i];
                node.nocheck = false; //表示显示checkbox
                zTree.updateNode(node);
            }
        }

        ///页面加载后初始化zTree数据且默认展开所有节点
        $(document).ready(function () {
            $.fn.zTree.init($("#treeDemo"), setting, zNodes).expandAll(true);
        });
		//-->
	</script>
</head>
<body>
    <h1>
        Checkbox nocheck 演示</h1>
    <div class="content_wrap">
        <div class="zTreeDemoBackground left">
            <ul id="treeDemo" class="ztree">
            </ul>
        </div>
        <div class="right">
            <p>
                默认情况下设置任何节点无checkbox选择框,需要配置每一个节点的nocheck属性为true即可。</p>
            <p>
                zTree加载完成后通过updateNode(node)方法动态更新节点的nocheck属性为false,则节点将会显示checkbox。</p>
            <h3>
                STEP DAY</h3>
            <div>
                <input type="button" value="动态设置节点有checkbox" onclick="DynamicUpdateNodeCheck()" />
            </div>
        </div>
    </div>
</body>
</html>
时间: 2024-11-03 04:56:49

jquery.ztree增加checkbox选项(可选以及不可选)的相关文章

jQuery ztree实现动态树形多选菜单_jquery

我用到的版本ztree core v3.5.24,需要引入的js,css,jquery.js,jquery.ztree.core.js,jquery.ztree.excheck.js(多选框可选),zTreeStyle.css. 需要注意的指向父节点的pId,我开始写的是pid一开始没注意,默认的是pId,当然可以pIdKey指定自定义的(未测).还有如果图片没显示肯定是没引入img图片,记得写好路径. 1.先介绍初始化加载ztree  jsp <div > <ul id="t

ztree控制checkbox可选或者不可选例子

1.引入ztree树相关的js文件 <link rel="stylesheet" href="../../../css/demo.css" type="text/css">   <link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">   <sc

jquery实现增加删除行的方法_jquery

本文实例讲述了jquery实现增加删除行的方法.分享给大家供大家参考.具体分析如下: 最近做一个投票管理的模块,需要添加问题选项,为了方便,就简单地实现了表格行的添加.删除. 注:需引入jquery.js 先上效果图:(form中默认有4行) 表单代码: 复制代码 代码如下: <div class="oz-form-fields"  style="width:450px;padding-top: 5px">      <table cellpadd

jQuery zTree加载树形菜单功能_jquery

由于项目中需要设计树形菜单功能,于是百度找相关资料,发现zTree方面的资料不少,觉得挺不错,而且zTree官方也有API文档,介绍的非常详细,经过一番捣腾之后,终于给弄出来了,所以便记下来,也算是学习zTree的一个总结吧. zTree的介绍: 1.zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 2.zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载 3.采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本

jquery动态增加text元素以及删除文本内容实例代码

这段代码是通过jquery动态增加限定数额的text(本例为5个) ,以及清除文本内容,用到了after()方法追加元素. <!--以下为script代码开始--> 复制代码 代码如下: <script> $(document).ready(function(){ var spotMax = 5;//限定添加text元素的总个数 var afterId = 0;//要追加元素的id var newId=1;//新生成text的id if($('table#vote').size()

基于jquery+ztree+java获取json数据构建树实例

zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE.FireFox.Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动.编辑.删除 支持任意更换皮肤 / 个性化图标(依靠css) 支持极其灵活的 checkbox 或 radio 选择功能 简单的参数配置实现 灵活多变的功能 因为ztree的格式支持J

jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象_jquery

Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 本文演示的是:jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象 ajaxForm()和ajaxSubmit()的可选参数项对象 ajaxForm 和 ajaxSubmit 都支持大量的可选参数,它们通过可选参数项对象传入.可选参数项对象只是一个简单的 JavaScript对象,里边包含了一些属性和一些值:

jquery写个checkbox——类似邮箱全选功能_jquery

以前用原生 JS 写过 checkbox--类似邮箱全选功能,点击这里.最近在学习jquery,今天抽空用jquery 写个checkbox--类似邮箱全选功能. 复制代码 代码如下: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>checkbox</title> </head> &l

jQuery中获取checkbox选中项等操作及注意事项_jquery

1. 获取checkbox的选中项 2. checkbox选项的全选 反选操作 用于测试的checkbox代码段: 复制代码 代码如下: <div>            <input type="checkbox" name="abc" value="一年级" id="in1" checked="checked" /><label for="in1">