本节主要介绍jQuery树插件 - zTree,插件地址:http://www.ztree.me/

初始化

考虑到nodes定义的JSON数据写到HTML中可能会破坏DOM结构, nodes参数支持定义为方法名,该方法返回需要的JSON数据。例:

                <script type="text/javascript">
                    function ztree_returnjson() {
                        return [{id:1,pid:0,name:'表单元素',children:[{id:10,pId:1,name:'按钮'},{id:11,pId:1,name:'文本框'}]}]
                    }
                </script>
                <ul id="ztree-test-demo2" class="ztree" data-toggle="ztree" data-options="{nodes:'ztree_returnjson'}"></ul>
            

DOM初始化的zTree参数

推荐使用集合属性data-options定义参数,如果使用data属性定义参数,注意转换成对应的名称,参见data属性一节。

属性名称 类型、参数 默认值 描述信息
nodes object/string/function null zTree展示的JSON数据,参数格式可以是:JSON对象,JSON格式的字符串,返回JSON数据的方法名,返回JSON数据的方法
└ faicon string null 定义zTree节点显示的字体图标,图标名称见Font Awesome,定义图标名称不要加fa-
└ faiconClose string null 定义zTree父节点折叠后显示的字体图标。
expandAll Boolean false 展开整棵树
simpleData Boolean true 使用简单JSON数据
addHoverDom function(treeId, treeNode) null 鼠标放到节点上时,显示的自定义DOM,函数可选字符串"edit":显示自定义的添加和删除按钮,删除按钮点击时有确认事件,如果定义了删除事件[onRemove],则删除时将调用该事件,否则直接删除
removeHoverDom function(treeId, treeNode) null 鼠标离开节点时,隐藏自定义DOM,函数可选字符串"edit":隐藏自定义的添加和删除按钮,addHoverDom和removeHoverDom需要同时出现
maxAddLevel Int 2 允许添加的最大子节点深度,仅使用默认的{"addHoverDom":"edit"}时有效,level > maxAddLevel 的节点上将不会显示添加按钮。
addDiyDom function(treeId, treeNode) false 用于在节点上固定显示用户自定义DOM
editEnable Boolean false 允许编辑节点
showRemoveBtn Boolean false 显示默认的编辑按钮
showRenameBtn Boolean false 显示默认的删除按钮
checkEnable Boolean false 设置 zTree 的节点上是否显示 checkbox / radio
chkStyle String checkbox 勾选框类型(checkbox 或 radio)[ {"checkEnable":true} 生效 ]
radioType String all radio 的分组范围,参数'all':整棵树为一个分组,参数'level':每一节点范围当作一个分组
onClick function(event, treeId, treeNode, clickFlag) null 用于捕获节点被点击的事件回调函数,
请为该函数添加event.preventDefault()以阻止a链接的默认事件
beforeDrag function(treeId, treeNodes) null 用于捕获节点被拖拽之前的事件回调函数,并且根据返回值确定是否允许开启拖拽操作
拖拽需要开启(editEnable):[ {"editEnable":true} 生效 ]
beforeDrop function(treeId, treeNodes, targetNode, moveType, isCopy) null 用于捕获节点拖拽操作结束之前的事件回调函数,并且根据返回值确定是否允许此拖拽操作
onDrop function(event, treeId, treeNodes, targetNode, moveType, isCopy) null 用于捕获节点拖拽操作结束的事件回调函数
beforeRemove function(treeId, treeNode) null 用于捕获节点被删除之前的事件回调函数,并且根据返回值确定是否允许删除操作。
onRemove function(event, treeId, treeNode) null 用于捕获删除节点之后的事件回调函数。
onCheck function(event, treeId, treeNode) null 用于捕获 checkbox / radio 被勾选 或 取消勾选的事件回调函数
setting object null 用于定义更多的zTree参数,更多参数请查看zTree API:http://www.ztree.me/v3/api.php