利用dtree來實現樹形下拉框。

利用dtree來實現如下圖所示的一個樹形下拉框。

一、普通JSP代碼,數據庫操作是利用spring的jdbcTemplate,可以根據自己的需要來更改。

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<jsp:directive.page import="org.springframework.context.ApplicationContext" />
<jsp:directive.page import="org.springframework.jdbc.core.JdbcTemplate" />
<jsp:directive.page import="org.springframework.jdbc.core.RowCallbackHandler" />
<jsp:directive.page import="org.springframework.web.context.support.WebApplicationContextUtils" />
<jsp:directive.page import="javax.servlet.http.*" />
<jsp:directive.page import="javax.sql.DataSource" />
<jsp:directive.page import="com.stutest.tool.*" />

<script src="js/treeselect.js"></script>
<script type="text/javascript" src="js/dtree.js"></script>
<script>
  function f(text,id)
  {
     document.getElementById("SelctOrg").value=id;
     document.getElementById("SelctOrg_Text").value=text;
  }
</script>
<HTML>
<HEAD>
<link rel="StyleSheet" href="css/dtree.css" type="text/css" />
<link type="text/css" rel="stylesheet" href="css/treeselect.css">

</head>
<body onload="javascript: d.openAll()">

<table border=1 >

<tr>
<td>可以選擇任何一個結點 :
<script  language="JavaScript">
<!--
 d = new dTree('d');
 d.add(0,-1,'樹形菜單');

      <%
       final  List   resourceList=null;
       ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
       DataSource ds =(DataSource) ctx.getBean("TestSource");
       JdbcTemplate jdbcTemplate=new JdbcTemplate(ds);
      
       List list1 = jdbcTemplate.queryForList("SELECT * FROM department order by depart_id"); 
       for(int i=0;i<list1.size();i++)
       {
         String did=""+((Map)list1.get(i)).get("depart_id");
         String uid=""+((Map)list1.get(i)).get("depart_subid");
         String dname=""+((Map)list1.get(i)).get("depart_jc");
         out.println("d.add("+did+","+uid+",'"+dname+"','javascript:f(//'"+dname+"//',//'"+did+"//')')");
       }
   
    %>
    CreateTreeSelect("SelctOrg",d,"","",380);
-->
</script>
</td>
<td>
asdfffffff
</td>
</tr>
<tr>
   <td>ddddddddddddddddddddddddd</td>
   <td>lasdkflasdjflasjdlfkjasdf</td>
</tr>
</table>


</body>
</html>

 

二、Struts2的前臺使用方式

 

      <td height="30">&nbsp;</td>
      <td height="30" align="right" class="blacklog">上級機構&nbsp;&nbsp;</td>
      <td height="30" class="blacklog">
   <script  language="JavaScript">
 d = new dTree('d');
 d.add(0,-1,'機構選擇');
     <s:iterator id="f" value="%{departlist}" status="stuts"> 
       d.add(<s:property value="#f.depart_id"/>,<s:property value="#f.depart_subid"/>,'<s:property value="#f.depart_jc"/>','javascript:f(/'<s:property value="#f.depart_jc"/>/',/'<s:property value="#f.depart_id"/>/')');
     </s:iterator> 
    CreateTreeSelect("SelctOrg",d,"","",200);

</script>

 

三、需要使用到的js ,css文件有下面幾個:

dtree.css

treeselect.css

treeselect.js (這個是參考網友的,由於網上轉載太多,也不知原創是哪一位)

dtree.js

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章