点击服务器列表后显示的是这样的页面
然后在该页面通过ip查询后,页面变成这样了
有什么办法可以通过ip查询后只更新树,不重新生成一个新的树
下面是我的代码,求各位帮我看看
<body>
<sys:message content="${message}"/>
<div id="content" class="row-fluid">
<div id="left" class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" style="color:#333;">服务器列表<i class="icon-refresh pull-right" onclick="refreshTree();"></i></a>
</div>
<div id="ztree" class="ztree"></div>
</div>
<div id="openClose" class="close"> </div>
<div id="right" style="padding-left:10px;">
<iframe id="chartPage" src="" width="100%" height="91%" frameborder="0"></iframe>
</div>
</div>
<script type="text/javascript">
var setting = {data:{simpleData:{enable:true,idKey:"id",pIdKey:"pId",rootPId:'0'}},
callback:{onClick:function(event, treeId, treeNode){ //事件回调
var id = treeNode.id == '0' ? '' :treeNode.id;
$('#chartPage').attr("src","${ctx}/assets/assetsBaseInfo/monitor?serverSn="+id+"&serverName="+treeNode.name);
}
}
};
function refreshTree(){
/* //删除节点
$(".ztree").remove();
//插入节点
$("a").after('<div id="ztree" class="ztree"></div>'); */
$.getJSON("${ctx}/assets/assetsBaseInfo/serverTreeData",function(data){
$.fn.zTree.init($("#ztree"), setting, data).expandAll(true); //展开全部节点
var treeObj = $.fn.zTree.getZTreeObj("ztree"); //获取id为ztree的Ztree对象
var nodes = treeObj.getNodes(); //获取全部节点
//update by nisu on 20170215
deviceSn = "${deviceSn}";
deviceName = "${deviceName}";
if(deviceSn!= null&&deviceSn!=""){
var node = treeObj.getNodeByParam("id",deviceSn);
treeObj.selectNode(node);
treeObj.updateNode(node);
$('#chartPage').attr("src","${ctx}/assets/assetsBaseInfo/monitor?serverSn="+node.id+"&serverName="+deviceName);
}else{
if (nodes.length>0) {
treeObj.selectNode(nodes[0]);//单独选中根节点的第一个节点
$('#chartPage').attr("src","${ctx}/assets/assetsBaseInfo/monitor?serverSn="+nodes[0].id+"&serverName="+nodes[0].name);
}
}
});
}
refreshTree();