论坛首页 Web前端技术论坛

关于树型结构返回值,大家都是怎么组织的呢

浏览 2958 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-22   最后修改:2008-12-22
直入正题,目前公司树形组件基于jquery的simple tree(http://news.kg/wp-content/uploads/tree/)扩展而成,基于后端的xml格式
		<menuitem id="11" class="menumain" text="samples" action="samples/gettingstart/forward.do">	
			<!-- qucik start-->
			<menuitem menuid="gettingstart"  text="sample.getting.start" action="samples/gettingstart/forward.do" contextmenu="true">
			
					<menuitem menuid="forward" text="sample.getting.start.forward" action="samples/gettingstart/forward.do" contextmenu="true">
					</menuitem>
					<menuitem menuid="helloworld" text="sample.getting.start.helloworld" action="samples/gettingstart/hello.do" contextmenu="true">
					</menuitem>
					<menuitem menuid="simpleCRUD" text="sample.getting.start.simpleCRUD" action="samples/gettingstart/message.do" contextmenu="true">
					</menuitem>
			</menuitem>
		
			<!-- advanced app -->
			<menuitem menuid="advancedused" text="sample.advanced.used" action="samples/subject/message.do?method=doList">
					<menuitem menuid="dispatchCRUD" text="sample.advanced.used.dispatchCRUD" action="samples/subject/message.do?method=doList">
					</menuitem>
					<menuitem menuid="editable" text="sample.advanced.used.editable" action="samples/subject/editable.do">
					</menuitem>

			</menuitem>
		</menuitem>

生成到前端后,对树进行一系列操作(拖拽、增加、删除、修改等),然后通过一个保存按钮将当前的树形结构同步回后端(可能基于xml,也可能存回数据库),问题出在如何返回修改后的树,目前想到两种方案,一种是记录每一步操作,封装成一个array往后台传,例如第一步先删除节点a,第二步将节点b移动到节点c下,等等,缺点是如果我进行了过多操作,这数据量会不会太大?第二种方案比较笨,也是目前想采用的方法,就是得到当前simpletree对象的引用,用js取得其html(一堆嵌套的<ul><li>组合),然后通过正则表达式将其替换成原来的xml格式后返回,不知道大家对于这样的业务场景一般怎么处理的?
  • 大小: 9.1 KB
   发表时间:2008-12-25  
我用的是 treeview 插件

http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
0 请登录后投票
   发表时间:2008-12-26  
刚开始学习jQuery,不大懂什么意思
0 请登录后投票
   发表时间:2008-12-26   最后修改:2008-12-26
srdrm 写道
我用的是 treeview 插件

http://bassistance.de/jquery-plugins/jquery-plugin-treeview/

恩,用哪个plugin来组织数据其实大同小异,关键是遇到实际业务需求时,怎样对所用的进行二次定制,目前我们对tree节点批量操作还是采用返回json的方式,定义del,add,mov,dnd四种操作类型。
0 请登录后投票
   发表时间:2008-12-26   最后修改:2008-12-26
用json数据保存操作,遇到如何解决垃圾操作问题(比如我给某节点添加一叶子,然后删了,再添加,再删,如此反复,到最后其实我啥也没干,但是操作数却急剧上升)。
   暂时考虑的是先记录,然后按照一定的清理规则重新洗一遍json中的“脏操作”,比如对同一id的增加和删除相当于没做任何操作,连续修改同一节点n次取最后一次值等等。
   还望je高人能提出更好的办法。
0 请登录后投票
   发表时间:2008-12-27  
你的例子能不能传上来?
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics