Kiven

Knowledge Has No Limit And Stick To It All The Time !
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

MzTreeView + CheckBox 整理笔记

Posted on 2011-11-07 18:00  KivenRo  阅读(1658)  评论(0编辑  收藏  举报

为解决用户角色权限或类别管理的问题,在网上下载了一个小例子,感觉挺实用,跟大家分享一下:

MzTreeView + CheckBox 复选框 + 自定义表格,实现类似以下功能:

1.引用MzTreeView2.js脚本:       
<script language="javaScript" src="MzTreeView12.js"></script> 

2.Style样式:

<style>
body {font:normal 12px 宋体}
a.MzTreeview /* TreeView 链接的基本样式 */ { cursor: hand; color: #000080; margin-top: 5px; padding: 2 1 0 2; text-decoration: none; }
.MzTreeview a.select /* TreeView 链接被选中时的样式 */ { color: highlighttext; background-color: highlight; }
#kkk input {
vertical-align:middle;
}
.MzTreeViewRow {border:none;width:500px;padding:0px;margin:0px;border-collapse:collapse}
.MzTreeViewCell0 {border-bottom:1px solid #CCCCCC;padding:0px;margin:0px;}
.MzTreeViewCell1 {border-bottom:1px solid #CCCCCC;border-left:1px solid #CCCCCC;width:200px;padding:0px;margin:0px;}
</style>

3.Html代码:

(1)结要显示出的节点信息添加一个表头(可自己设计):

      <table class='MzTreeViewRow' style="background:#EEEEEE;border-top:1px solid #CCCCCC;">

<tr>

<th class='MzTreeViewCell0'>节点名称</th>

<th class='MzTreeViewCell1'>ID/编号</th>

</tr>

</table> 

(2)添加DIV标签,用于输入选项内容:<div id="kkk"></div><br/>

(3)在DIV标签下面写上以下脚本代码:      

 <script language="javascript" type="text/javascript">
 <!--

 //可以加自定义的HTML表格到每一项,这是表头部分,在外部定义方法如下:
 var MzTreeViewTH="<table class='MzTreeViewRow'><tr><td class='MzTreeViewCell0'>";

 //可以加自定义的HTML表格到每一项,这是单元格部分,在外部定义方法如下:
 var MzTreeViewTD="\"</td><td class='MzTreeViewCell1'>\"+ sid +\"</td></tr></table>\"";
 
 window.tree = new MzTreeView("tree");
 tree.setIconPath("images/"); //此为展开节点中要显示的图片,可用相对路径

 //节点格式说明:N["pnt_cur"];   其中pnt为父结点的ID,cur为当前结点ID

 //以下是要输入的节点信息:

 tree.N["0_SH8900000000"] = "ctrl:sel;checked:1;T:系统管理;"
 tree.N["SH8900000000_SH8901000000"] = "ctrl:sel;checked:1;T:文书模板管理;url:"
 tree.N["SH8900000000_SH8902000000"] = "ctrl:sel;checked:0;T:自定义流程管理;url:"
 tree.N["SH8900000000_SH8903000000"] = "ctrl:sel;checked:1;T:质量考核因素;url:"
 tree.N["SH8900000000_SH8904000000"] = "ctrl:sel;checked:1;T:节假日管理;url:"
 tree.N["SH8900000000_SH8905000000"] = "ctrl:sel;checked:1;T:事项管理;url:"
 tree.N["SH8900000000_SH8906000000"] = "ctrl:sel;checked:1;T:用户及权限管理;url:xxxxxx.aspx"
 tree.N["SH8900000000_SH8907000000"] = "ctrl:sel;checked:1;T:组织机构管理;url:xxxxxx.aspx" 
 tree.N["SH8906000000_SH8906010000"] = "ctrl:sel;checked:1;T:添加新用户;url:xxxxxx.aspx"
 tree.N["SH8907000000_SH8907010000"] = "ctrl:sel;checked:1;T:添加组织机构;url:xxxxxx.aspx"
 tree.N["SH8906000000_SH8906020000"] = "ctrl:sel;checked:0;T:用户管理;url:"
 tree.N["SH8907000000_SH8907020000"] = "ctrl:sel;checked:0;T:组织机构管理;url:xxxxxx.aspx"
 tree.N["SH8906000000_SH8906030000"] = "ctrl:sel;checked:1;T:添加新角色;url:xxxxxx.aspx"
 tree.N["SH8906030000_SH8906030100"] = "ctrl:sel;checked:1;T:添加新角色;url:xxxxxx.aspx" 
 tree.N["SH8906000000_SH8906040000"] = "ctrl:sel;checked:1;T:系统角色管理;url:xxxxxx.aspx"

 //复选框用法说明:其中“ctrl:sel;”的冒号后面的是复选框的名称(name)属性

 //其中“checked:1;”的冒号后面的是0或1,表明复选框是否选中(1为选中,0为不选)

 tree.setURL("#");
 tree.wordLine = false;
 tree.setTarget("main");
 document.getElementById("kkk").innerHTML=tree.toString();
 tree.expandAll();

 //显示所有选中的ID

 function showsel()
 {
  var es=document.getElementsByName("sel");
  var out="";
  for(var i=0;i<es.length;i++)
  {
   if (es[i].checked) out+=es[i].value+"\n";
  }
  alert(out);
  }
  //-->
  </script>

(4)添加一个Input控件,用于测试选中的信息

       <input type="button" onclick='showsel()' value='显示选中' />

3.显示结果:

 

若在程序中使用,其中输出的节点信息可用输入字符串的形式显示就OK了。

下载地址:http://download.csdn.net/download/yangfang00123/2047126