第一部分: 子菜单动态生成部分
<script type="text/javascript">
function listClass(itemid){
//初始化下拉列表 清空下拉数据
document.form1.classid.length=0;
document.form1.classid.options[0]=new Option("选择分类","");
for(j=0;j<subclass.length;j++){
if(subclass[j][2]==itemid)//建立option
{
document.form1.classid.options[document.form1.classid.length]=
new Option(subclass[j][1],subclass[j][0]);
//将新的option加入
}
}
}
</script>
第二部分: 主菜单的生成
<select name="news_item" οnchange="listClass(this.value);">
<%
for(int i=0;i<itemDao.selectItem().size();i++)
{
ItemsVo itemsvo=new ItemsVo();
itemsvo=itemDao.selectItem().get(i);
%>
<option value=<%=itemsvo.getItemid()%> selected>
<%=itemsvo.getItemname() %>
</option>
<%
}
%>
<option value="" selected >
选择栏目
</option>
</select>
第三部分: 子菜单所需数组的构成
<% List<ClassesVo> classlist = (ArrayList<ClassesVo>) request.getAttribute("classlist");%>
<%
StringBuffer sb=new StringBuffer();
ClassesVo vo=null;
sb.append("<script type='text/javascript'>");
sb.append("var subclass=new Array();");
int arrIndex=0;
for(int t=0;t<classlist.size();t++)
{
vo=classlist.get(t);
String classid=String.valueOf(vo.getClassid());
String classname=vo.getClassname();
String c_itemid=String.valueOf(vo.getItemid());
//开始构造数组
String templist="subclass["+arrIndex+"]=new Array('"+classid;
templist=templist+"','"+classname+"','"+c_itemid+"');";
sb.append(templist);
arrIndex++;
}
sb.append("</script>");
out.println(sb);
%>
<select name="classid" class="bd">
<option value="" selected>
选择分类
</option>
</select>
<form acton=" " name=form1 method=post >
<select name="news_item" οnchange="listClass(this.value);">
<%
for(int i=0;i<itemsvo.selectItem().size();i++)
{
ItemsVo itemsvo=new ItemsVo();
itemsvo=itemsvo.selectItem().get(i);
%>
<option value=<%=itemsvo.getItemid()%> selected>
<%=itemsvo.getItemname() %>
</option>
<%
}
%>
<option value="" selected >
选择栏目
</option>
</select>
<% List<ClassesVo> classlist = (ArrayList<ClassesVo>) request.getAttribute("classlist");%>
<%
StringBuffer sb=new StringBuffer();
ClassesVo vo=null;
sb.append("<script type='text/javascript'>");
sb.append("var subclass=new Array();");
int arrIndex=0;
for(int t=0;t<classlist.size();t++)
{
vo=classlist.get(t);
String classid=String.valueOf(vo.getClassid());
String classname=vo.getClassname();
String c_itemid=String.valueOf(vo.getItemid());
//开始构造数组
String templist="subclass["+arrIndex+"]=new Array('"+classid;
templist=templist+"','"+classname+"','"+c_itemid+"');";
sb.append(templist);
arrIndex++;
}
sb.append("</script>");
out.println(sb);
%>
<select name="classid" class="bd">
<option value="" selected>
选择分类
</option>
</select>
</form>