在xtree使用过程中,遇到了这样一个问题,就是在点击一个节点的时候,要ajax请求返回json数据然后生成下一级树,但是当客户再次点击该节点的时候,xtree同样还是把刚才的子节点重现加载一遍,这样该节点下的子节点就重复了,代码如何
var tree = new WebFXTree('测试', 'javascript:\" οnclick=\"return false;');
tree.setBehavior('classic');
//将返回的json数据动态生成树
var showTree = function(data){
if (data != null && typeof data == 'object') {
for (var i = 0; i < data.organizationViews.length; i++) {
if (data.organizationViews[i].type == 'ORG') {
if (null == tree.getSelected()) {
tree.add(new WebFXTreeItem(data.organizationViews[i].organization.organizationName, 'javascript:\" οnclick=\"javascript:findOrg(' + data.organizationViews[i].organization.organizationId + ');'));
}
else {
tree.getSelected().add(new WebFXTreeItem(data.organizationViews[i].organization.organizationName, 'javascript:\" οnclick=\"javascript:findOrg(' + data.organizationViews[i].organization.organizationId + ');'));
}
}
else
if (data.organizationViews[i].type == 'EMPLOYEE') {
if (null == tree.getSelected()) {
tree.add(new WebFXTreeItem(data.organizationViews[i].employee.employeeName, 'javascript:\" οnclick=\"javascript:test(' + data.organizationViews[i].employee.employeeId + ');'));
}
else {
tree.getSelected().add(new WebFXTreeItem(data.organizationViews[i].employee.employeeName, 'javascript:\" οnclick=\"javascript:test(' + data.organizationViews[i].employee.employeeId + ');'));
}
}
}
tree.expandAll();
}
document.getElementById("rogPanel").innerHTML = tree.toString();
}
//根据父节点查询下一级的组织机构
function findOrg(organizationId){
var url = "organization!getOrgJson.do";
$.getJSON(url, {
orgId: organizationId
}, showTree);
}
var tree = new WebFXTree('测试', 'javascript:\" οnclick=\"return false;');
tree.setBehavior('classic');
//将返回的json数据动态生成树
var showTree = function(data){
if (data != null && typeof data == 'object') {
for (var i = 0; i < data.organizationViews.length; i++) {
if (data.organizationViews[i].type == 'ORG') {
if (null == tree.getSelected()) {
tree.add(new WebFXTreeItem(data.organizationViews[i].organization.organizationName, 'javascript:\" οnclick=\"javascript:findOrg(' + data.organizationViews[i].organization.organizationId + ');'));
}
else {
tree.getSelected().add(new WebFXTreeItem(data.organizationViews[i].organization.organizationName, 'javascript:\" οnclick=\"javascript:findOrg(' + data.organizationViews[i].organization.organizationId + ');'));
}
}
else
if (data.organizationViews[i].type == 'EMPLOYEE') {
if (null == tree.getSelected()) {
tree.add(new WebFXTreeItem(data.organizationViews[i].employee.employeeName, 'javascript:\" οnclick=\"javascript:test(' + data.organizationViews[i].employee.employeeId + ');'));
}
else {
tree.getSelected().add(new WebFXTreeItem(data.organizationViews[i].employee.employeeName, 'javascript:\" οnclick=\"javascript:test(' + data.organizationViews[i].employee.employeeId + ');'));
}
}
}
tree.expandAll();
}
document.getElementById("rogPanel").innerHTML = tree.toString();
}
//根据父节点查询下一级的组织机构
function findOrg(organizationId){
var url = "organization!getOrgJson.do";
$.getJSON(url, {
orgId: organizationId
}, showTree);
}