动态关联下拉列表,要求列表值从数据库中提取! 由于需要操作数据库,单纯使用javascript是不行的,因此只能选择一个部门就刷新一次页面或作成一个iframe,刷新这个iframe。在页面中先接收部门id,根据这个id 检索数据库来实现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 -----------------------------------------------------------------文件1:下拉列表表单-----------------------------------------------------------------<%@ page language="java" import="java.sql.*" contentType="text/html;charset=gb2312" %><html><head><title>jsp动态下拉菜单关联</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><script language="JavaScript"><jsp:include page="select.js.jsp" /></script></head><body onLoad="load('form1','lei','shop')"><form name="form1"><select name="lei" onchange="javascript: option('form1','lei','shop')"> </select><select name="shop"></select></form></body></html>---------------------------------------------------------------文件2:用jsp动态生成的javascript脚本---------------------------------------------------------------<%@ page language="java" contentType="text/html;charset=gb2312" import="java.sql.*" %><%Connection con=null;Statement conn=null;Statement conn1=null;try{ String DBDriver = "oracle.jdbc.driver.OracleDriver"; String ConnStr = "jdbc:oracle:thin:@192.168.0.14:1521:baojia"; String user = "itserver"; String password = "sa"; Class.forName(DBDriver); con = DriverManager.getConnection(ConnStr,user,password); conn = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); conn1 = con.createStatement();//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//cn=DriverManager.getConnection("jdbc:odbc:baojia","baojia","bamboosales");}catch(SQLException e){out.println(e.toString());}%><%try {//用jsp编写的动态下拉菜单关联js文件!\\\\\\\\屈建雄 [email protected]//////////第一在body中加入onload="javascript: load('表单名','下拉主菜单','下拉分菜单')"//第二在下拉主菜单select中加入onchange="javascript:option('表单名','下拉主菜单','下拉分菜单')"//第三嵌入脚本<script language="JavaScript"><jsp:include page="select.js.jsp" /></script>//其中表单页中两个下拉菜单为空!//jsp部分rs为主菜单表指针,rs1为分菜单表指针!String sql1 = "select * from daqu"; //主菜单sql语句,选出主菜单的选项String sql2 = "";String op1 = "请选择大区"; //主菜单默认提示语String op2 = "请选择分公司"; //分菜单默认提示语String view1 = "";String value1 = "";String view2 = "";String value2 = "";ResultSet rs = conn.executeQuery(sql1);//++++++++++++++++++++++++++++++++++++++++++javascript:load()++++++++++++++++++++++++++++++++++++++++++++out.println("function load(form,op1,op2){");int num = 1; out.println("var option0=new Option(\"" + op1 + "\");"); out.println("var option02=new Option(\"" + op2 + "\");"); out.println("eval(form+\".\"+op1+\".options[0]=option0\");"); out.println("eval(form+\".\"+op2+\".options[0]=option02\");"); while(rs.next()) { view1 = rs.getString("dq_name");//主菜单显示字符 value1 = rs.getString("dq_name");//主菜单显示字符对应的值 out.println("var option" + num + "=new Option(\"" + view1.trim() + "\",\"" + value1.trim() + "\");"); out.println("eval(form+\".\"+op1+\".options[" + num + "]=option" + num + "\");"); num = num + 1; }out.println("eval(form+\".\"+op1+\".length=" + num + "\");");out.println("}");//++++++++++++++++++++++++++++++++++++++++javascript:option()++++++++++++++++++++++++++++++++++++++++out.println("function option(form,op1,op2){");out.println("var op0=new Option(\"" + op2 + "\");");out.println("if(eval(form+\".\"+op1+\".options[0].selected\")){eval(form+\".\"+op2+\".options[0]=op0\");eval(form+\".\"+op2+\".length=1\");}");rs.beforeFirst();int op1num = 1; while(rs.next()) { int op2num = 0; sql2 = "select ka_name from kouan where dq_id=" + rs.getString("dq_id"); //分菜单sql语句,选出与主菜单关联的分菜单选项 ResultSet rs1 = conn1.executeQuery(sql2); while(rs1.next()) { view2 = rs1.getString("ka_name");//分菜单显示字符 value2 = rs1.getString("ka_name");//分菜单显示字符对应的值 out.println("var option" + op1num + "_" + op2num + "=new Option(\"" + view2.trim() + "\",\"" + value2.trim() + "\");"); op2num = op2num + 1; } rs1.close(); out.println("var j" + op1num + "=" + op2num + ";"); out.println("if (eval(form+\".\"+op1+\".options[" + op1num + "].selected\")){"); out.println("for(var i=0;i<j" + op1num + ";i++){"); out.println("eval(form+\".\"+op2+\".options[i]=option" + op1num + "_\"+i);}"); out.println("eval(form+\".\"+op2+\".length=\"+j" + op1num + ");}"); op1num = op1num + 1; }out.println("}");conn.close();conn1.close();con.close();}catch(Exception ex) { out.print(ex);}%> 谁能解释下SpringFactory里每个方法具体的作用 struts2的input跳转到Action js图片特效 求教各位达人,关于ext,HttpProxy设置的问题。。。 FTP的文件拖曳,请帮忙! 请教关于数据库的连接的问题,有点难度哦!(请教过公司几个高手都没有解决) 请高手指教怎么样在一个按钮上加图片 tomcat配置的更动后与sevlet问题 jsp list 分页器(1.1)更新 到底什么是javabean? 写好的BEAN和SERVLET应该放在TOMCAT的哪个目录下? JSP與SQLServer20000連接的問題
文件1:下拉列表表单
-----------------------------------------------------------------
<%@ page language="java" import="java.sql.*" contentType="text/html;charset=gb2312" %>
<html>
<head>
<title>jsp动态下拉菜单关联</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
<jsp:include page="select.js.jsp" />
</script>
</head><body onLoad="load('form1','lei','shop')">
<form name="form1">
<select name="lei" onchange="javascript: option('form1','lei','shop')">
</select>
<select name="shop">
</select>
</form>
</body>
</html>---------------------------------------------------------------
文件2:用jsp动态生成的javascript脚本
---------------------------------------------------------------
<%@ page language="java" contentType="text/html;charset=gb2312" import="java.sql.*" %>
<%
Connection con=null;
Statement conn=null;
Statement conn1=null;
try{
String DBDriver = "oracle.jdbc.driver.OracleDriver";
String ConnStr = "jdbc:oracle:thin:@192.168.0.14:1521:baojia";
String user = "itserver";
String password = "sa";
Class.forName(DBDriver);
con = DriverManager.getConnection(ConnStr,user,password);
conn = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
conn1 = con.createStatement();
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//cn=DriverManager.getConnection("jdbc:odbc:baojia","baojia","bamboosales");
}
catch(SQLException e){
out.println(e.toString());
}
%><%
try {
//用jsp编写的动态下拉菜单关联js文件!\\\\\\\\屈建雄 [email protected]////////
//第一在body中加入onload="javascript: load('表单名','下拉主菜单','下拉分菜单')"
//第二在下拉主菜单select中加入onchange="javascript:option('表单名','下拉主菜单','下拉分菜单')"
//第三嵌入脚本<script language="JavaScript"><jsp:include page="select.js.jsp" /></script>
//其中表单页中两个下拉菜单为空!
//jsp部分rs为主菜单表指针,rs1为分菜单表指针!String sql1 = "select * from daqu"; //主菜单sql语句,选出主菜单的选项
String sql2 = "";
String op1 = "请选择大区"; //主菜单默认提示语
String op2 = "请选择分公司"; //分菜单默认提示语
String view1 = "";
String value1 = "";
String view2 = "";
String value2 = "";ResultSet rs = conn.executeQuery(sql1);
//++++++++++++++++++++++++++++++++++++++++++javascript:load()++++++++++++++++++++++++++++++++++++++++++++
out.println("function load(form,op1,op2){");
int num = 1;
out.println("var option0=new Option(\"" + op1 + "\");");
out.println("var option02=new Option(\"" + op2 + "\");");
out.println("eval(form+\".\"+op1+\".options[0]=option0\");");
out.println("eval(form+\".\"+op2+\".options[0]=option02\");");
while(rs.next()) {
view1 = rs.getString("dq_name");//主菜单显示字符
value1 = rs.getString("dq_name");//主菜单显示字符对应的值
out.println("var option" + num + "=new Option(\"" + view1.trim() + "\",\"" + value1.trim() + "\");");
out.println("eval(form+\".\"+op1+\".options[" + num + "]=option" + num + "\");");
num = num + 1;
}
out.println("eval(form+\".\"+op1+\".length=" + num + "\");");
out.println("}");
//++++++++++++++++++++++++++++++++++++++++javascript:option()++++++++++++++++++++++++++++++++++++++++
out.println("function option(form,op1,op2){");
out.println("var op0=new Option(\"" + op2 + "\");");
out.println("if(eval(form+\".\"+op1+\".options[0].selected\")){eval(form+\".\"+op2+\".options[0]=op0\");eval(form+\".\"+op2+\".length=1\");}");
rs.beforeFirst();
int op1num = 1;
while(rs.next()) {
int op2num = 0;
sql2 = "select ka_name from kouan where dq_id=" + rs.getString("dq_id"); //分菜单sql语句,选出与主菜单关联的分菜单选项
ResultSet rs1 = conn1.executeQuery(sql2);
while(rs1.next()) {
view2 = rs1.getString("ka_name");//分菜单显示字符
value2 = rs1.getString("ka_name");//分菜单显示字符对应的值
out.println("var option" + op1num + "_" + op2num + "=new Option(\"" + view2.trim() + "\",\"" + value2.trim() + "\");");
op2num = op2num + 1;
}
rs1.close();
out.println("var j" + op1num + "=" + op2num + ";");
out.println("if (eval(form+\".\"+op1+\".options[" + op1num + "].selected\")){");
out.println("for(var i=0;i<j" + op1num + ";i++){");
out.println("eval(form+\".\"+op2+\".options[i]=option" + op1num + "_\"+i);}");
out.println("eval(form+\".\"+op2+\".length=\"+j" + op1num + ");}");
op1num = op1num + 1;
}
out.println("}");
conn.close();
conn1.close();
con.close();
}
catch(Exception ex) {
out.print(ex);
}
%>