zoukankan      html  css  js  c++  java
  • 关于点击ztree的节点将页面生成到easyui的新增选项卡(easyui-tabs)时,总是在浏览器中生成一个新的页面的问题

      

       最近的项目中用到了easyui,还有ztree菜单。在这里将我遇到的一些问题写出来算是做个笔记吧。

      

      这是我头一次在博客园里分享代码,我的处女作,写的不好的地方还望各位见谅!

      

      由于很久没有写过前台的东西手有点生,刚开始还以为很简单(不过确实很简单)然后咚咚咚的一顿狂敲,再然后一运行,。。。哎呀! 点击ztree的节点除了选项卡有页面外,浏览器还给我生成了一个页面。 仔细一想 :也是,点击节点时 ztree会根据treeNode的url属性去访问后台,然后肯定会生成一个新的jsp页面,虽然你把url的给了easyui-tabs 但是然并卵,跟easyui-tabs又没关系。于是我就想   如果点击节点时不让他去访问后台不就完了吗?然后百度了一下,结合ztree的API 发现

    废话不多说,上代码。。。

     1 <script type="text/javascript" charset="utf-8">
     2         
     3       $(function(){
     4           
     5            /* 用于展现 zTree 的 DOM 容器 */
     6               var obj = $("#ztree");
     7           
     8            /*配置节点信息 */    
     9              var zSetting = {
    10                   data:{
    11                       simpleData:{
    12                           enable:true,
    13                           idKey:"id",
    14                           pIdKey:"pId"
    15                       },
    16                       key:{
    17                          url:'_url'
    18                      }
    19                   },
    20                   /* 点击节点事件 */
    21                   callback: {
    22                     onClick: zTreeOnClick
    23                 }
    24               };
    25              
    26              /*获取节点数据 */
    27              var uid = "${user.uid}";
    28              $.ajax({
    29                  type:"post",
    30                  url:"<%=path%>/main/getPowerList.action",
    31                  async:false,
    32                  data:{uid:uid},
    33                  dataType:"json",
    34                  success:function(mes){
    35                      zNodes = mes;
    36                  }
    37              });
    38             
    39             /* zTree 初始化方法 */ 
    40             $.fn.zTree.init(obj, zSetting, zNodes);
    41           
    42           
    43           /* 展开全部节点 */
    44           var treeObj = $.fn.zTree.getZTreeObj("ztree");
    45         treeObj.expandAll(true);
    46 
    47         });
    48         
    49         /* 点击节点时触发的函数 */
    50         function zTreeOnClick(event, treeId, treeNode) {
    51             //如果点击的是父节点  则折叠该节点
    52             var zTree = $.fn.zTree.getZTreeObj("ztree");
    53           if (treeNode.isParent) {
    54                  zTree.expandNode(treeNode);
    55                  return false;
    56              } else {
    57                   var url = "<%=path%>/"+treeNode.url;
    58                    var name = treeNode.name;
    59                    easyui_tab(name,url);
    60                   return true;
    61                }
    62       };
    63     
    64       //生成新的选项卡        
    65       function easyui_tab(text,url) {
    66          
    67           //若选项卡已存在,选择该选项卡
    68           if ($("#tabs").tabs('exists', text)) {   
    69                   $("#tabs").tabs('select', text);
    70           } else {
    71                 var content = "<iframe frameborder='0' scrolling='auto' style='100%;height:100%' src="
    72                 + url + "></iframe>";   
    73         
    74               //生成新的选项卡,  
    75                 $("#tabs").tabs('add', {
    76                    title : text,
    77                    closable : true,
    78                    content : content,
    79                 });
    80         }
    81     }      
    82         
    83     </script>
     1 <body class="easyui-layout">   
     2     
     3     <div data-options="region:'north',split:false,collapsible:false" style="height:100px;"></div>   
     4   
     5     <div data-options="region:'south',split:false" style="height:100px;"></div>   
     6     <!-- ztree盒子 -->
     7     <div data-options="region:'west',title:'操作',collapsible:false,split:false" style="180px;">
     8         <div id="ztree" class="zTree" >
     9              
    10          </div>    
    11     </div>   
    12     <div data-options="region:'center'" style="padding:0px;background:#eee;">
    13         <!-- 选型卡 -->
    14         <div id="tabs" class="easyui-tabs" data-options="border:false" style="height:410px;">   
    15             <div title="首页" style="padding:20px;display:none;">   
    16                <center>
    17                     <h1>欢迎使用</h1>
    18                </center>      
    19             </div>   
    20         </div>  
    21     </div>   
    22  </body>  

    最后上一张简单的Demo效果图

  • 相关阅读:
    session_id 生成原理
    压缩后的数据 要经过 base64_encode 后才能在网络上传送
    MySQL ANALYZE TABLE
    mysql 优化2
    mysql 查询优化
    第归调用
    『GoLang』函数
    『GoLang』控制结构
    『GoLang』语法基础
    『Python』装饰器
  • 原文地址:https://www.cnblogs.com/wjqboke/p/5944347.html
Copyright © 2011-2022 走看看