easyUI之tree

本文档详细介绍了如何使用easyUI实现点击左侧菜单加载右侧Tab,并防止重复打开。首先,通过给菜单添加点击事件并调用tabs选项卡来打开对应页面。接着,通过检查现有选项卡来避免打开重复的Tab。当已存在的Tab被点击时,它会默认被选中。同时,通过<iframe>标签确保点击菜单能加载实际页面而不是文字内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

课程目标

 

需求点:
      1.点击左侧侧显示右侧Tab
         1.1给菜单添加点击事件
       1.2调用tabs选项卡,打开对应的页面
          选项卡打开
           选项卡对应的页面展示
             
     2.不能打开重复的Tab
             拿到目前打开的tabs选项卡,与将要打开的选项卡做对比(exists)
            存在true:不打开
           不存在false:d打开
      3.对于已经存在的tab选项卡,被点击的时候,应该默认被选中
      
      4.点击菜单,能够访问对应的页面,而非文字内容

一,导入资源
1.tree_data1.json文件,放入webcontent目录下

 2.新建一个index.js文件,放在js目录下

3.用js方法调用导入的tree_data1.json 

$(function(){
	  $('#tt').tree({    
		    url:'tree_data1.json'   
		});
  })

4.在index主界面要调用js

<script type="text/javascript" src="${pageContext.request.contextPath }/static/js/index.js"></script>

点击左侧侧显示右侧Tab

$('#stuMenu').tree({    
	    url:'tree_data1.json',
	    onClick:function(node){
	    	//alert(node.text);//在用户点击的时候提示
}

之后去tree_data1.json中修改内容

 

 <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;">
        <div id="stuTabs" class="easyui-tabs" style="width:100%;height:100%;">    
    </div>   
</div>

注意,div里的id要与js文件中的id所对应

这是easyUI中的增加的一个方法,下面是源码
 
// add a new tab panel    
$('#tt').tabs('add',{    
    title:'New Tab',    
    content:'Tab Body',    
    closable:true,    
    tools:[{    
        iconCls:'icon-mini-refresh',    
        handler:function(){    
            alert('refresh');    
        }    
    }]    
});  

导入展示

 

不能打开重复的Tab

var一个exists,用于判断页面是否存有打开的页面

如果存有,不打开页面

如果没有,打开将要打开的页面


  1.  
    //判断当前要打开的选项卡是否存在
    	    	var exists=$('#stuTabs').tabs('exists',node.text);
    	    	
    	    	if(exists){
    	    		$('#stuTabs').tabs('select',node.text);
    	    	}else{
    	    		//iframe
    	    	$('#stuTabs').tabs('add',{    
    	    	    title:node.text,    
    	    	    content:'<iframe width="100%" height="100%" src="'+node.attributes.url+'"></iframe>', 
    	    	    closable:true,    
    	    	    tools:[{    
    	    	        iconCls:'icon-mini-refresh',    
    	    	        handler:function(){    
    	    	            alert('refresh');    
    	    	        }    
    	    	    }]    
    	    	});  
    	    	}

     对于已经存在的tab选项卡,被点击的时候,应该默认被选中

    $('#stuMenu').tree({    
    	    url:'tree_data1.json',
    	    onClick:function(node){
    	    	//alert(node.text);//在用户点击的时候提示
    	    	// add a new tab panel    
    	    	//判断当前要打开的选项卡是否存在
    	    	var exists=$('#stuTabs').tabs('exists',node.text);
    	    	
    	    	if(exists){
    	    		$('#stuTabs').tabs('select',node.text);
    	    	}else{
    	    		//iframe
    	    	$('#stuTabs').tabs('add',{    
    	    	    title:node.text,    
    	    	    content:node.text+'Tab Body'', 
    	    	    closable:true,    
    	    	    tools:[{    
    	    	        iconCls:'icon-mini-refresh',    
    	    	        handler:function(){    
    	    	            alert('refresh');    
    	    	        }    
    	    	    }]    
    	    	});  
    	    	}

    点击菜单,能够访问对应的页面,而非文字内容

    利用<iframe>标签进行操作

    将上段代码中的content改为

    '<iframe width="100%" height="100%" src="'+node.attributes.url+'"></iframe>'
    最后展示的界面,将文本内容改成了界面展示 

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值