使用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;"> 模块管理树 </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方法具体实现什么?
|