Ztree菜单树数据回显

Posted 在下徐将军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ztree菜单树数据回显相关的知识,希望对你有一定的参考价值。

Ztree菜单树数据回显,分两部分查询数据:

    其一: 根据实体id查询出其关联的菜单数据

    其二: 查询所有的菜单数据.

然后,使用Ztree API中进行菜单数据回显的数据进行回显数据,勾选菜单复选框.

 

代码

 1 //2.设置菜单树的全局变量
 2                 var setting = {
 3                     data : {
 4                         key : {
 5                             title : "t"
 6                         },
 7                         simpleData : {            //开启简单数据
 8                             enable : true,
 9                         }
10                     },
11                     check : {                    //开启菜单复选框
12                         enable : true,
13                     }
14                 };    
15 
16      /*回显菜单树数据             --start*/
17               
20                     //根据角色id 使用ajax远程加载角色关联的json菜单数据
21                     $.post("${pageContext.request.contextPath}/menuAction_findMenuByRoleId.action", {
22                         "id" : rowData.id
23                     }, function(data) {
24                         //alert(data);
25                         treeNode = data;
26                     },‘json‘);    
27                         
28                     
29                     //3.ajax动态查取菜单树全部节点数据(ztreeNodes)即:data
30                     $.ajax({
31                         url : ‘${pageContext.request.contextPath}/menuAction_findAll.action‘,
32                         type : ‘POST‘,
33                         dataType : ‘json‘,
34                         success : function(data) {
35                             
36                             //4.初始化ztree
37                             $.fn.zTree.init($("#menuTree"), setting, data);
38                             
39                             //当角色关联的菜单数据长度大于0时,遍历角色关联的菜单数据
40                             if (treeNode.length > 0) {
41                                 
42                                 //获取ztree对象
43                                 var treeObj = $.fn.zTree.getZTreeObj("menuTree");
44                                 
45                                 //遍历勾选角色关联的菜单数据
46                                 for (var i = 0; i < treeNode.length; i++) {
47                                     
48                                 //根据角色菜单节点数据的属性搜索,获取与完整菜单树完全匹配的节点JSON对象集合
49                                 var nodes = treeObj.getNodesByParam("id", treeNode[i].id, null);
50                                     
51                                 //勾选当前选中的节点
52                                 treeObj.checkNode(nodes[0],true,true);
53                                     
54                                 };
55                             };
56                         },
57                         error : function(msg) {
58                             alert(‘树加载异常!‘);
59                         }
60                     });
61             
62            /*回显菜单树             --end*/

// 点击更新
    $(‘#updateRole‘).click(function(){


     if($("#editRoleForm").form("validate")){
      var treeObj = $.fn.zTree.getZTreeObj("menuTree");
      var nodes = treeObj.getCheckedNodes(true);//在提交表单之前将选中的checkbox收集
      var array = new Array();
      for(var i=0;i<nodes.length;i++){
       array.push(nodes[i].id);
      }
      var menuIds = array.join(",");
      $("input[name=menuIds]").val(menuIds);//将获取的菜单选项赋值给隐藏域,从而将数据传到后台
      $("#editRoleForm").submit();
     }
    });

 

 

以上是关于Ztree菜单树数据回显的主要内容,如果未能解决你的问题,请参考以下文章

展示树菜单(zTree)

谁会做zTree。 树菜单选中保存进数据库。下次加载树菜单打开时,还是显示的是:勾选着上次选中保存的

zTree实现树菜单角色权限分配

从零认识ztree树插件

PHP + zTree插件树型文件夹显示

使用zTree插件构建树形菜单