给一位网友做一个动态的下拉菜单从数据库读取2003-11-14 9:48:49
stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); stmtc=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); /*conn.jsp 结束*/ %> <%/*****文件st.jsp用于显示所有省份名*******/%> <%@ page contentType="text/html; charset=GBK" %> <%@ page include="conn.jsp" %> <% String sql="select pName from pName order by id desc"; rs=stmt.executeQuery(sql); out.println(""); //文件st.jsp 结束 %> <%/*****文件changlist.jsp用于显示所有城市名*******/%> <%@ page contentType="text/html; charset=GBK" %> <%@ page include="conn.jsp" %> <%///以下是调用一些脚本文件//%> function aClass(aData, aValue, aText) { if (aClass.arguments.length < 3) alert("传入的参数错误!") else { this.Data = aData; this.Value = aValue; this.Text = aText; } } function chgDnCombobox(aSrc, aDes, aClass, aRemain){ if (chgDnCombobox.arguments.length < 3) alert("传入的参数错误!") else if (aSrc.type != "select-one") alert("传入的参数错误!") else if (aClass == null) alert("aClass未定义错误!") else { if (aRemain==null) aRemain = 1; chgDnComboboxItem(aSrc.options[aSrc.selectedIndex].value, aDes, aClass, aRemain); } } function chgDnComboboxItem(aValue, aDes, aClass, aRemain){ if (chgDnComboboxItem.arguments.length<3) alert("参数传入错误!") else if (aClass==null) alert("错误!aClass没有定义!") else{ if (aRemain==null) aRemain = 1; deleteAllComboboxItem(aDes, aRemain); for (var i=0; i if (aClass[i].Data!="") addComboboxItem(aDes, aClass[i].Text, aClass[i].Value); } } function deleteAllComboboxItem(aList, aRemain) { for (var i=aList.options.length; i > aRemain-1; i--) aList.options[i] = null; } function addComboboxItem(aList, aText, aValue) { var aOption = new Option(aText, aValue); eval("aList.options[aList.options.length]=aOption"); } //数据区,可以在这里添加数据 function change_area(aForm) { chgDnCombobox(aForm.group, aForm.city, f_Set0 , 0); } function onchg(aForm) { onchg(document.myform);} var f_Set0 = new Array( <% //脚本结束开始读取数据库 String sql="select cName,pID from cTable order by id desc"; rs=stmt.executeQuery(sql); while(rs.next()){ String sqlc = "select pName from pTable where id ="+rs.getInt("pID"); //注意此处外循环 先选环省份 是因为没个省份至少有一个城市 rsc = stmtc.executeQuery(sqlc); while(rsc.next()){ out.println("new aClass('"+rsc.getString("pName")+"','"+rs.getString("cName")+"','"+rs.getString("cName")+"'),"); } rsc.close(); } rs.close(); %> new aClass("End", "End", "End")); <% /*changlist.jsp 结束 * * 以上程序没有问题,你可以到我的网站上看看。 * * 至于用ArrayList or Hashtable 我还没想到。 * *这样可能不是最好的程序但是可以实现你的要求 */%> |
|
|