<select name="SYCID" onchange="javascript:main.submit();">
<option value="0" <%if("0".equals(_sycID)) out.println("selected");%>>事業處</option>
<%
_tempRs=_tempSmt.executeQuery("select SYCID,SYCName from ShiYeChu");
while(_tempRs.next())
{
_tempID=_tempRs.getString(1);
out.println("<option value=\""+_tempID+"\"");
if(_tempID.equals(_sycID))
out.println("selected");
out.println(">"+_tempRs.getString(2)+"</option>");
}
if(_tempRs!=null)_tempRs.close();
%>
</select>

解决方案 »

  1.   

    一般有两种方法
    1.对于级数较少的动态菜单(如两级),可以在打开页面之初一次性将数据库中的数据读入javascript的数组中,然后利用javascript在客户端实现动态变化。该方法的特点是只对数据库操作一次,中间不用再次查询数据库,效率较高,但实现起来较麻烦,级数越多越麻烦
    2.下拉菜单每改变一次就查询一次数据库,并重新生成菜单,此方法实现起来非常简单,而且与级数无关,缺点是每次改变都要查询数据库,效率较低从个人经验出发,推荐使用第二种方法,其大致框架为