关于easyui添加tabs选项卡,后添加的选项卡数据会覆盖先添加选项卡数据的问题
在easyui中,我们一般通过触发点击事件来添加选项卡,新添加的选项卡中会有一个 href 属性,它代表一个地址,一般我们都用一个jsp页面的地址,这样jsp页面中的内容就会被加载到选项卡中
$('#tt').tabs('add', {
title: ’标题‘,
href: "${pageContext.request.contextPath}/" + view.jsp,
closable: true
});
tips: title 属性代表添加选项卡的标题
${pageContext.request.contextPath} 代表当前项目的路径
一般我们在jsp页面中会使用 table 标签,通过使用标签的 datagrid() 方法请求服务器获取数据并显示在页面中
$('#table).datagrid({
url:'${pageContext.request.contextPath}/user/select',
pagination:true,
fit:true,
fitColumns:true,
columns:[[
{field:'name',title:'姓名'},
{field:'password',title:'密码'},
{field:'dharma',title:'法号'},
{field:'sex',title:'性别',
formatter: function(value,row,index){
if(row.sex==1){
return '男'
}else return '女'
}}
]]
});
当我们添加第二个类似的标签时,有时会发现第二次添加的tabs选项卡中jsp页面的数据会出现在第一个选项卡中。这是为什么呢?
其实没啥原因,就是你太懒了。我们经常在写相似页面的时候会使用cv大法,重点来了,问题就出现在这个cv上,因为当我们复制jsp页面代码后,保持了两个jsp页面的 table 标签的id属性相同,但又由于在两个jsp中,我们便会忽略这个id属性,其实就是因为id属性一样导致了后添加的选项卡数据会覆盖先添加选项卡,所以改一下id就解决了。