JSP的2级菜单怎么做 ? 比如要查询一个学校 某个教学楼 的 某个班级的情况 就需要2个查询条件第一个是查询教学楼的编号 里面有N个教室第二个是该教学楼下的教室号 100分求代码 谢谢 !!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【whlusha720】截止到2008-07-23 16:56:42的历史汇总数据(不包括此帖):发帖的总数量:8 发帖的总分数:360 每贴平均分数:45 回帖的总数量:24 得分贴总数量:3 回帖的得分率:12% 结贴的总数量:6 结贴的总分数:290 无满意结贴数:0 无满意结贴分:0 未结的帖子数:2 未结的总分数:70 结贴的百分比:75.00 % 结分的百分比:80.56 % 无满意结贴率:0.00 % 无满意结分率:0.00 % 楼主加油 不用那么复杂,我给你个三级的,你参照一下。http://hi.baidu.com/blcx/blog/item/5f2a401065350affc3ce79a8.html 学校名字SCHOOLNAME教学楼编码 HOUSENO教室号 CLASSROOMNO 班级 CLASSNOselect classno from schoolname where houseno=? and classroomno=? OK了啊 前面的保存教学楼 当改变的时候 根据教学楼的值 通过dwr 查询出来所有的班级 显示在第二个 可以用AJAX做异步查询 或者干脆开始的时候用order by查询 然后按order去分组存入不同的数组里面 用AJax吧,数据量不大的话,可一次取出放在前台JS控制 前几天还开发了一个无限联动,是用ajax做的并且不是每次都读数据库,而是从cache里获取的 <tr> <td width="146"><div align="right" class="STYLE2">选择院系:</div></td> <td width="150"> <select name="yuanXi" id="yuanXi" class="lbsx" onchange="changedYX();return false;"> <option value="-1">请选择院系</option> <c:forEach items="${deps.deps}" var="dep"> <option value="${dep.bianHao}">${dep.mingCheng}</option> </c:forEach> </select> </td> <td> <div id="cheResForYX"><img src="/fiveF/html/images/question.gif"/></div> </td> </tr> <tr> <td> <div align="right" class="STYLE2">选择专业:</div></td> <td> <select name="zhuanYe" size="1" class="lbsx" id="zhuanYe" onchange="changedZY();return false;"> <option value="-1">请选择专业</option> </select> </td> <td> <div id="cheResForZY"><img src="/fiveF/html/images/question.gif"/></div> </td> </tr>function changedYX(){ var opt=document.getElementById("yuanXi"); if(true==createXmlHttp()) { xmlHttp.onreadystatechange=processForYX; xmlHttp.open("POST","/fiveF/addCourseForTea",true); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;"); xmlHttp.send("cmd=yuanxi&yuanXiBH="+opt.options(opt.selectedIndex).value); }}function processForYX(){ if(4==xmlHttp.readystate) { if(200==xmlHttp.status) { //fillNJ(); fillMC(); } }}function fillMC(){ clearOption("zhuanYe"); var optZY=document.getElementById("zhuanYe"); var resultZY=xmlHttp.responseXML.getElementsByTagName("optionsMC")[0]; var options=resultZY.getElementsByTagName("option"); var newOption=null; for(var i=0;i<options.length;i++) { var option=options[i]; newOption=document.createElement("option"); newOption.appendChild(document.createTextNode(option.firstChild.nodeValue)); optZY.appendChild(newOption); } newOption=document.createElement("option"); newOption.appendChild(document.createTextNode("请选择专业")); optZY.appendChild(newOption); newOption.selected=true; } if("yuanxi".equalsIgnoreCase(cmd)) { String yuanXiBH=req.getParameter("yuanXiBH"); //MyBeans.Grades gras=new MyBeans.Grades(); MyBeans.Majors majs=new MyBeans.Majors(); //gras.fillIn(yuanXiBH); majs.fillIn(yuanXiBH); StringBuffer sb=new StringBuffer(); sb.append("<root>"); /*sb.append("<optionsNJ>"); for(int i=0;i<gras.getGras().length;i++) { sb.append("<option>"); sb.append(gras.getGras()[i].getGrade()); sb.append("</option>"); } sb.append("</optionsNJ>"); */ sb.append("<optionsMC>"); for(int i=0;i<majs.getMajs().length;i++) { sb.append("<option>"); sb.append(majs.getMajs()[i].getMaj()); sb.append("</option>"); } sb.append("</optionsMC>"); sb.append("</root>"); PrintWriter out=resp.getWriter(); out.print(sb.toString()); } 不能用JSP页面和js来做吗?html和js做的 我已经知道怎么实现了 在JSP页面上做个2级下拉菜单很难吗 ?晕咯 to 楼主,你太逗了 ~ html 实现了 ,你把 .html 文件 改成 .jsp 在看看 ? 哈哈 如果不读数据库的化,通过ajax(js+xml)实现 dwr搞定,这种几级连拉的,我天天做 <tr> <td width="146"><div align="right" class="STYLE2">选择院系:</div></td> <td width="150"> <select name="yuanXi" id="yuanXi" class="lbsx" onchange="changedYX();return false;"> <option value="-1">请选择院系</option> <c:forEach items="${deps.deps}" var="dep"> <option value="${dep.bianHao}">${dep.mingCheng}</option> </c:forEach> </select> </td> <td> <div id="cheResForYX"><img src="/fiveF/html/images/question.gif"/></div> </td> </tr> <tr> <td> <div align="right" class="STYLE2">选择专业:</div></td> <td> <select name="zhuanYe" size="1" class="lbsx" id="zhuanYe" onchange="changedZY();return false;"> <option value="-1">请选择专业</option> </select> </td> <td> <div id="cheResForZY"><img src="/fiveF/html/images/question.gif"/></div> </td> </tr> 记录用户操作 问个比较弱的问题,这个类是在哪个jar包里? 问一个JS操作表格取值问题。。。。。。。。。。 数据库兼容问题 在servlet中,如何访问另一个servlet 很棘手的问题,请教~~~~~~~ 一个自动提交程序中的问题 为什么我上传文件老是出错? 防止ie直接打开文件的问题 上传下载的javabean--SMARTUPLOAD和SMARTFILE的问题 windows2008 注册建行组件ccbrsa.dll JSP选择月份问题
楼主【whlusha720】截止到2008-07-23 16:56:42的历史汇总数据(不包括此帖):
发帖的总数量:8 发帖的总分数:360 每贴平均分数:45
回帖的总数量:24 得分贴总数量:3 回帖的得分率:12%
结贴的总数量:6 结贴的总分数:290
无满意结贴数:0 无满意结贴分:0
未结的帖子数:2 未结的总分数:70
结贴的百分比:75.00 % 结分的百分比:80.56 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
http://hi.baidu.com/blcx/blog/item/5f2a401065350affc3ce79a8.html
班级 CLASSNOselect classno from schoolname where houseno=? and classroomno=? OK了啊
当改变的时候 根据教学楼的值 通过dwr 查询出来所有的班级 显示在第二个
<tr>
<td width="146"><div align="right" class="STYLE2">选择院系:</div></td>
<td width="150">
<select name="yuanXi" id="yuanXi" class="lbsx" onchange="changedYX();return false;">
<option value="-1">请选择院系</option>
<c:forEach items="${deps.deps}" var="dep">
<option value="${dep.bianHao}">${dep.mingCheng}</option>
</c:forEach>
</select>
</td>
<td>
<div id="cheResForYX"><img src="/fiveF/html/images/question.gif"/></div>
</td>
</tr>
<tr>
<td>
<div align="right" class="STYLE2">选择专业:</div></td>
<td>
<select name="zhuanYe" size="1" class="lbsx" id="zhuanYe" onchange="changedZY();return false;">
<option value="-1">请选择专业</option>
</select>
</td>
<td>
<div id="cheResForZY"><img src="/fiveF/html/images/question.gif"/></div>
</td>
</tr>function changedYX()
{
var opt=document.getElementById("yuanXi");
if(true==createXmlHttp())
{
xmlHttp.onreadystatechange=processForYX;
xmlHttp.open("POST","/fiveF/addCourseForTea",true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.send("cmd=yuanxi&yuanXiBH="+opt.options(opt.selectedIndex).value);
}
}function processForYX()
{
if(4==xmlHttp.readystate)
{
if(200==xmlHttp.status)
{
//fillNJ();
fillMC();
}
}
}function fillMC()
{
clearOption("zhuanYe");
var optZY=document.getElementById("zhuanYe");
var resultZY=xmlHttp.responseXML.getElementsByTagName("optionsMC")[0];
var options=resultZY.getElementsByTagName("option");
var newOption=null;
for(var i=0;i<options.length;i++)
{
var option=options[i];
newOption=document.createElement("option");
newOption.appendChild(document.createTextNode(option.firstChild.nodeValue));
optZY.appendChild(newOption);
}
newOption=document.createElement("option");
newOption.appendChild(document.createTextNode("请选择专业"));
optZY.appendChild(newOption);
newOption.selected=true;
}
if("yuanxi".equalsIgnoreCase(cmd))
{
String yuanXiBH=req.getParameter("yuanXiBH");
//MyBeans.Grades gras=new MyBeans.Grades();
MyBeans.Majors majs=new MyBeans.Majors();
//gras.fillIn(yuanXiBH);
majs.fillIn(yuanXiBH);
StringBuffer sb=new StringBuffer();
sb.append("<root>");
/*sb.append("<optionsNJ>");
for(int i=0;i<gras.getGras().length;i++)
{
sb.append("<option>");
sb.append(gras.getGras()[i].getGrade());
sb.append("</option>");
}
sb.append("</optionsNJ>");
*/
sb.append("<optionsMC>");
for(int i=0;i<majs.getMajs().length;i++)
{
sb.append("<option>");
sb.append(majs.getMajs()[i].getMaj());
sb.append("</option>");
}
sb.append("</optionsMC>");
sb.append("</root>");
PrintWriter out=resp.getWriter();
out.print(sb.toString());
}
晕咯
<td width="146"><div align="right" class="STYLE2">选择院系:</div></td>
<td width="150">
<select name="yuanXi" id="yuanXi" class="lbsx" onchange="changedYX();return false;">
<option value="-1">请选择院系</option>
<c:forEach items="${deps.deps}" var="dep">
<option value="${dep.bianHao}">${dep.mingCheng}</option>
</c:forEach>
</select>
</td>
<td>
<div id="cheResForYX"><img src="/fiveF/html/images/question.gif"/></div>
</td>
</tr>
<tr>
<td>
<div align="right" class="STYLE2">选择专业:</div></td>
<td>
<select name="zhuanYe" size="1" class="lbsx" id="zhuanYe" onchange="changedZY();return false;">
<option value="-1">请选择专业</option>
</select>
</td>
<td>
<div id="cheResForZY"><img src="/fiveF/html/images/question.gif"/></div>
</td>
</tr>