使用E3开发拖拽树,如何得到拖拽后父节点的id

swigun 2009-06-04
如题,在项目中开发模块管理,其中用到树的拖拽,请问树拖拽后如何得到其新父节点的id

代码:

<%@page contentType="text/html; charset=UTF-8"%>
<%@ include file="/common/taglibs.jsp"%>

<html>
<head>
<script src="scripts/xtree.js"></script>
<link href="styles/style_main.css" rel="stylesheet" type="text/css"
media="all" />

<script type="text/javascript">
function treeRenderBeforeHandler(pTree){
pTree.on('beforerender', function(pTree){
// pTree.setTitle("请选择节点!:d");
});
pTree.on('click', function(node){
window.alert("fafdsa");
//pTree.setTitle("当前节点:" + node.text);
});
pTree.on('movenode',function(pTree,pNode, pOldParent, pNewParent,
pIndex){
window.alert("fafdsa");
//修改拖动节点的父节点ID,这是关键
pNode.attributes.newParentNodeID = pNewParent.attributes.nodeID;
});
}

var changedNodes = "";
function visitNode(pNode){
var root = tree.getRootNode() ;
//因为跟节点不可能移动,所以不需要判断.
if ( root != pNode ){
//节点父亲修改过
if (pNode.attributes.newParentNodeID !=
pNode.attributes.oldParentNodeID ){
changedNodes = changedNodes + pNode.attributes.nodeID + "," +
pNode.attributes.newParentNodeID + ",";
}
}
var children = pNode.childNodes;//获取儿子节点
for(var i=0; i<children.length; i++){
var child = children[i];
visitNode(child);
}
}

function saveTree(myForm){
var root = tree.getRootNode() ;
//遍历节点,检查父亲节点被修改过的节点
visitNode( root );
//提交变更.
alert(changedNodes);
//建议此处提交使用ajax 方式,避免页面刷新
//myForm.action = 'e3ManualAction.do?reqCode=saveTree&changedNodes=' +changedNodes;
//myForm.submit();
}
</script>
</head>

<div id="sideL_1" class="sideL_1">
<div class="nav" align="center">
<div style="font-size:12px;color:#032070;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;模块管理树
</div>
</div>
<div class="tree2">
${treeScript}
</div>
</div>
</html>


点击和拖动事件都不响应啊
huangyh 2009-06-04
这个问题我不回答,在样例里面有
swigun 2009-06-05
谢谢 ,我下载了样例运行了看看,感觉好强大 有一个问题要请教一下。以下代码是E3开发指南中的 if(EredcipUtils.isNotEmpty(domain.getAction())) result.setAction("javascript:doAction('" + domain.getAction() + "')"); return result; } }; 这段代码中EredcipUtils怎么报找不到的类型啊,是要导入包?我初学java请高手多多指教!!小生不甚感激!
huangyh 2009-06-05
EredcipUtils不是e3的东西,是文档作者熊春的ered平台的东西,这个东西不用理会,就是用来判断domian.getAction()是否非空用的
相当于if ( domain.getAction() != null && "".equals(domain.getAction()) ) {
result.setAction("javascript:doAction('" + domain.getAction() + "')"); return result;
}
swigun 2009-06-08
谢谢!我猜也是这样的意思确定一下。代码中domain是一个实体类的对象,还有就是那个getaction方法具体实现什么?
Global site tag (gtag.js) - Google Analytics