一个老问题 关于多级的级联菜单--求救 (struts+JSP)急!!!!!!分不够再加!!!
手头上有个四级别连查的任务 都是从数据库取得 同一张tree表上
node_id node_name parent_id
1 ss 0
2 aa 0 1,2是一级彩旦选项
3 22 1 3 ,4,7 2级
4 2323 2
5 we2 3 5,6 3级.....依次类推
6 223 3
7 yy 2
大致的页面
地区: ----------一级
<html:select name="arealist">
</<html:select>
线路: -----------2级
<<html:select name="linelist">
</<html:select>
关口:------------3级
<<html:select name="gatelist">
</<html:select>
变压器:----------4级别
<<html:select name="transformerlist">
</<html:select>
设备号: 选择了变压器后 查出设备号和安装地址显示出来
<<html:text name="trandformer_id"value="">
</<html:text>
安装地址:
<<html:text name="address"value="">
</<html:text>
查找了很多文章 要不就是没注释 要不就是讲解的不清楚 希望哪位高手能详细讲解一下
现在主要是在看塞迪网上的一篇 里面有一部分代码看的似懂非懂
-------------------------------jsp----------------------------
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html>
<head>
<title>
选择文件类别
</title>
</head>
<body bgcolor="#ffffff">
<h3>
选择文件所属类型
</h3>
<html:errors/>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><html:form name="articleClassForm" type="entity.ArticleClassForm"
action="selectArticleClassAction.do">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right">文章大类*</td>
<td>
<html:select property="articleClassID" styleClass="word"
onchange="articleClassFormredirect(this.options.selectedIndex)">
<html:option value="">请选择一个大类</html:option>
<html:optionsCollection name="articleClassForm" property="beanCollection" styleClass="word"/>
</html:select>
</td>
</tr>
<tr>
<td align="right">文章小类*</td>
<td>
<select name="articleSubClassID" Class="word" >
<option value="">请选择一个小类</option>
</select>
<SCRIPT language=JavaScript>
<!--
var 大类长度=document.articleClassForm.articleClassID.options.length
var 小类=new Array(大类长度)
for (i=0; i<大类长度; i++)
小类[i]=new Array()
~~~~~~~~~~~~主要是这里
~~~~~~~~~~~~
<logic:iterate name="articleSubClassList" id="articleClassForm"
scope="request" type="entity.ArticleClassForm">
小类[<bean:write name="articleClassForm"property="subI"/>]
[<bean:write name="articleClassForm"property="subJ"/>]
=new Option("<bean:write name="articleClassForm"property="articleSubClassName"/>"
,"<bean:write name="articleClassForm"property="articleSubClassID"/>")
</logic:iterate>
var articleSubClassTemp=document.articleClassForm.articleSubClassID
function articleClassFormredirect(x){
for (m=articleSubClassTemp.options.length-1;m>0;m--)
//将上次的下拉数据清空
articleSubClassTemp.options[m]=null
for (i=0;i<小类[x].length;i++){
articleSubClassTemp.options[i]=new Option(小类[x][i].text,小类[x][i].value)}
articleSubClassTemp.options[0].selected=true
}
//-->例:select1 和select2
在select1下拉框的onChange事件中加上select2.options[select1.selectedIndex].selected=true,这样第一个下拉框变化了第二个下拉框也变成与第一个下拉框对应的数据。
</SCRIPT>
</td>
</tr>
</table>
</html:form>
</td>
</tr>
</table>
</body>
</html>