jquery树形插件 jquery.dynatree.js 的使用

1,在后台拼字符串产生json,json的格式为:[{title :"xxxx",  key: xerx, ,expand:true/false ,children:[{title:"yyyyy",key:eeee,expand:true},

{title:"zzzzz",key:dfds,expand:true}]}]。 这么嵌套下去,实际使用时可以用StringBuffer这样拼字符的速度快些。expand:true时产生的树是展开的,当为false时树是闭合 的。把这个json字符串放入map中在前台展示。(我用的springmvc框架)

2,引入css和js文件:dynatree/src/skin/ui.dynatree.css,dynatree/jquery/jquery-ui.custom.js,dynatree/jquery/jquery.cookie.js,

dynatree/src/jquery.dynatree.js。

3,在jsp中添加这样的div      <div name=test  style="width:170px;height:200px;overflow: auto ;background-color: white; border: #83BCF5 1px solid;" value="1">

4,在js中:

$(function(){   //这是为了在打开页面时就调用这个方法
        initTree();
         });

function initTree(){
         //初始化树状结构
        $("#test").dynatree({
            checkbox: true,
            // Override class name for checkbox icon,
so rasio buttons are displayed:
            classNames: {nodeIcon: ""},
            // Select mode 3: multi-hier
            selectMode: 3,
            children: ${sjon}   //这个${sjon}就是后台保存在map中的json字符串
        });

}

4,为该树添加全选与全部选操作:

function selectAll(){    //全选
      $("#test").dynatree("getRoot").visit(function(node){
        node.select(true);
      });

}

function deSelectAll(){   //全不选
      $("#test").dynatree("getRoot").visit(function(node){
        node.select(false);
      });

}

5,把此树的key发送到后台的方法:

比如这个树在  id为form1的form中,var formData = $("#form1").serializeArray();//这为了把树以外的内容序列化和树的数据一起发送

var tree1;

tree1 = $("#test").dynatree("getTree");

formData = formData.concat(tree1.serializeArray());    //这就把树的数据得到并和树之外的数据连在一起了。

然后把formData发送就over了。

6,判断树是否有节点选择

$("#test).dynatree("getSelectedNodes").length==0表示没选择。

二、以下是自己做的一个小列子实例,树形分类。树形分类的代码就不提供了。

<-- view 层-->

<script src="__JS__/dynatree/jquery/jquery-ui.custom.js" type="text/javascript"></script>
  <link href="__JS__/dynatree/src/skin/ui.dynatree.css" rel="stylesheet" type="text/css" id="skinSheet">
  <script src="__JS__/dynatree/src/jquery.dynatree.js" type="text/javascript"></script>

<!--添加  expanded 类是为了初始化页面,默认打开就展开某些项-->

<div id="tree">
                         <ul id="treeData" >
                            <?php foreach ($cateTree as $key => $cate) :?>
                                <li id="{$cate[‘id‘]}" title="" class="li_{$cate[‘id‘]} top expanded" data-cateid="{$cate[‘id‘]}" >{$cate[‘cateName‘]}

<a class="edit_nat c-violet" style="margin-left:100px;" href="javascript:editCate(‘<?php echo $cate[‘id‘];?>‘);">
                                      <i class="iconfont"></i>
                                    </a> |
                                    <a class="text-muted" href="javascript:deleteCate(‘<?php echo $cate[‘id‘];?>‘);" onclick="return nat_del()">
                                      <i class="iconfont"></i>
                                    </a>

<ul>
                                       <?php foreach ($cate[‘child‘] as $key => $child) :?>
                                           <li id="{$child[‘id‘]}" class="li_{$child[‘id‘]}" data="code:{$child[‘id‘]}" >{$child[‘cateName‘]}
                                            <a class="edit_nat c-violet" style="margin-left:100px;" href="javascript:editCate(‘<?php echo $child[‘id‘];?>‘);">
                                              <i class="iconfont"></i>
                                            </a> |
                                            <a class="text-muted" href="javascript:deleteCate(‘<?php echo $child[‘id‘];?>‘);" onclick="return nat_del()">
                                              <i class="iconfont"></i>
                                            </a>

<ul>
                                              <?php foreach ($child[‘child‘] as $key => $last) :?>
                                                  <li id="{$last[‘id‘]}" class="li_{$last[‘id‘]}" data="code:{$last[‘id‘]}" >{$last[‘cateName‘]}
                                                       <a class="edit_nat c-violet" style="margin-left:100px;" href="javascript:editCate(‘<?php echo $last[‘id‘];?>‘);">
                                                        <i class="iconfont"></i>
                                                      </a>|
                                                      <a class="text-muted" href="javascript:deleteCate(‘<?php echo $last[‘id‘];?>‘);" onclick="return nat_del()">
                                                        <i class="iconfont"></i>
                                                      </a>
                                                      <ul>
                                                        <volist name="last[‘child‘]" id="four" >
                                                          <li id="{$four[‘id‘]}" class="li_{$four[‘id‘]}" data="code:{$four[‘id‘]}">{$four[‘cateName‘]}
                                                            <a class="edit_nat c-violet" style="margin-left:100px;" href="javascript:editCate(‘<?php echo $four[‘id‘];?>‘);">
                                                                <i class="iconfont"></i>
                                                              </a>
                                                              |
                                                              <a class="text-muted" href="javascript:deleteCate(‘<?php echo $four[‘id‘];?>‘);" onclick="return nat_del()">
                                                                <i class="iconfont"></i>
                                                              </a>
                                                              <ul>
                                                                    <?php foreach ($four[‘child‘] as $key => $five) :?>
                                                                           <li id="{$five[‘id‘]}" class="li_{$five[‘id‘]}" data="code:{$five[‘id‘]}">{$five[‘cateName‘]}
                                                                            <a class="edit_nat c-violet" style="margin-left:100px;" href="javascript:editCate(‘<?php echo $five[‘id‘];?>‘);">
                                                                                <i class="iconfont"></i>
                                                                              </a>
                                                                              |
                                                                              <a class="text-muted" href="javascript:deleteCate(‘<?php echo $five[‘id‘];?>‘);" onclick="return nat_del()">
                                                                                <i class="iconfont"></i>
                                                                              </a>
                                                                    <?php endforeach;?>
                                                              </ul>
                                                        </volist>
                                                      </ul>
                                              <?php endforeach;?>
                                            </ul>
                                      <?php endforeach;?>
                                    </ul>
                             <?php endforeach;?>
                          </ul>
                        </div>

<scsript type="text/javascript>

 //初始化树形,(备注:如果初始化默认页面中要展开某些项时,在标签中要添加"expanded"类。)

  $(function(){

    $("#tree").dynatree({
            
            }
        });

  })

</script>

时间: 2024-08-16 11:18:35

jquery树形插件 jquery.dynatree.js 的使用的相关文章

JQuery树形插件Dynatree的包装对象

这是JQuery Dynatree插件的包装对象,做了些改进和增强,增加了右键菜单,以及相应事件等扩展1. [代码]MagicDTree的基本使用 <SCRIPT type=text/javascript>$(function(){    var ctxMenu = $('#ctxMenu1');    var tree = $('#tree1');    tree.mac('dtree', {        treeConfig: {            title: Msg.region

Jquery 分页插件 Jquery Pagination

Jquery 分页插件 Jquery Pagination 分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也挺简单明了的,也助于自己写个小插件. 不过我比较懒,一般直接拿着各种插件用,想偷懒的同学们也可以用用看: Jquery Pagination 大家可以去这里查看下演示:http://www.xuetub.com/plugin/jquery/221 使用方法也比较简单: <div id="pag

jQuery遮罩插件 jquery.blockUI.js

Overview jQuery BlockUI 插件可以在不同锁定浏览器的同时,模拟同步模式下发起Ajax请求的行为.该插件激活时,会组织用户在页面进行的操作,直到插件被关闭.BlockUI通过向DOM中添加元素实现其外观和组织用户交互的行为. 使用jQuery BlockUI,首先需要在jQuery后面引用 jquery.blockUI.js jquery.blockUI.js插件下载地址:http://jquery.malsup.com/block/ 用法很简单,组织用户对页面的交互: $.

Jquery加密插件jquery.md5.js

使用jquery.md5.js加密插件可以实现在前端进行MD5加密 下载地址:https://github.com/placemarker/jQuery-MD5 使用方法 //Create (hex-encoded) MD5 hash of a given string value: var md5 = $.md5('value'); //Create (hex-encoded) HMAC-MD5 hash of a given string value and key: var md5 = $

【转载】jquery 滚动条插件jquery.slimscroll.js

转载http://www.w3cways.com/1910.html jquery.slimscroll.js插件是一个支持把内容放在一个盒子里面,固定一个高度,超出的则使用滚动. jquery.slimscroll.js不仅可以定义高度.宽度,还可以定义位置.滚动条大小.尺寸.颜色以及众多参数自定义,非常不错,推荐大家使用. 官网地址:https://github.com/kujian/jQuery-slimScroll CND:http://cdn.bootcss.com/jQuery-sl

一个功能丰富的 jQuery 树形插件 z-tree

链接 如果你的树 很复杂, 需要拖拽功能, 还可以考虑用这个 另外还有一个目前在用 Dynatree 如果一般的树, 还是自己写一个, 也很轻松,    如果有一两个复杂的点, 可以参考ZTree

jQuery遮罩插件jQuery.blockUI.js简介

本文链接:http://bookshadow.com/weblog/2014/09/26/jquery-blockui-js-introduction/

jQuery旋转插件jquery.rotate.js 让图片旋转

演示1 直接旋转一个角度 $('#img1').rotate(45); 演示2 鼠标移动效果 $('#img2').rotate({ bind : { mouseover : function(){ $(this).rotate({animateTo: 180}); }, mouseout : function(){ $(this).rotate({animateTo: 0}); } } }); 演示3 不停旋转 var angle = 0; setInterval(function(){ an

分享一款超棒的jQuery旋钮插件 - jQuery knob

转自:http://www.cnblogs.com/gbin1/archive/2012/05/08/2489908.html 在线演示  本地下载 如果你也在寻找一款生成漂亮旋钮(knob)的jQuery插件的话,那么今天我们介绍的jQuery knob肯定是一个不错的选择.它使用canvas帮助我们生成超酷的旋钮特效,你可以使用插件选项或者HTML5的data属性来自定义设置插件属性,方便简捷并且优雅,我相信大家肯定会喜欢这个超酷的jQuery插件,如果你有任何问题活着建议请给我们留言! 主