论坛首页 Web前端技术论坛

MVC模式实现JS树

浏览 2565 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-10-26   最后修改:2010-03-18
      项目中页面上要用到树形结构,方便用户选择。虽然程序中已经有树的js组件,但那是选择人员的,现在这个需求是:有第三方提供的机构数据和机构下的基金中心数据,要求方便用户选择机构和基金中心。dojo?ext?懒的去网上搜了,自己来写一个。
      因为这个只有两级结构:机构-->基金中心,所以实现起来比较简单,但实现过程中感觉写这么个小东西很有趣,所以想整理下,使它能够应对比较一般的情况。两个晚上后,我觉得该是把它给人看看的时候了,虽然界面很丑。。。但是我想这种设计方式或许还是值得各位一看的吧,欢迎拍砖。
     针对公司、部门、人员,做以下设计:
Company
<company>
		<id>1001</id>
		<name>公司</name>
	</company>

Depart
<depart>
		<id>100101</id>
		<pid></pid>
		<cid>1001</cid>
		<name>父部门甲</name>
	</depart>

Person
<depart>
		<id>100101</id>
		<pid></pid>
		<cid>1001</cid>
		<name>父部门甲</name>
	</depart>

针对树的基本元素、构成、显示、赋值。。。做以下设计:
/jstree/js/treeBean.js
/**
 *	提供显示树的构造函数
 *	author 	SavageGarden
 *	version	1.0
 */
 
 /**
  *	公司的构造函数
  */
 function company(){
 	var id = "";
 	var name = "";
 }
 /**
  *	部门的构造函数
  */
 function depart(){
 	var id = "";
 	var pid = "";
 	var cid = "";
 	var name = "";
 }
 /**
  * 人员的构造函数
  */
 function person(){
 	var id = "";
 	var dep_id = "";
 	var dep_top_id = "";
 	var cid = "";
 	var name = "";
 }

M:提供构成树的基本元素-公司、部门、人员的构造函数
/jstree/js/treeShow.js
V:提供显示树时(展开、关闭、选中、取消)的函数
/jstree/js/treeFunc.js
C:提供与XML交互数据的函数
/jstree/js/formFunc.js
提供表单页与树页面交互的函数
如果在某个页面引用,需要在页面中引用此js文件
<script type="text/javascript" src="/jstree/js/formFunc.js"></script>
然后在页面上这样来引用
<table width="700px">
	<tr>
		<td width="10%">人员:</td>
		<td>
			<textarea id="personNameStr" name="personNameStr" readonly="readonly"></textarea>
			<input type="hidden" id="personIdStr" name="personIdStr"/>
			<a href="#" onclick="openTreeHtml('personIdStr','personNameStr');return false;">
		                  <img src="/jstree/img/lookup.gif" border="0">
			</a>
		</td>
	</tr>
</table>



论坛首页 Web前端技术版

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