下拉菜单的连动问题,急用,!!!!!!!!!!!!!! 帮你顶一下,你有看过一些用javascript做的这类程序吗?参照一下吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 做如下修改:<script Language="JavaScript" ><%Connection conn2=null; ResultSet rs2=null; Statement stmt2; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn2=DriverManager.getConnection("jdbc:odbc:dddd","",""); stmt2=conn2.createStatement();rs2=stmt2.executeQuery("select * from table1");var my;while(rs2.next()){ my=String(rs2.getString(1));}System.out.println("var my="+my);%> 看一下csdn中的(java)文档部分,那儿有一篇我刚写的文件。地址是:http://www.csdn.net/develop/Read_Article.asp?Id=17617 如果你菜单数据量不是很大的话,就一次将所有数据查出,然后存入一个数组,jsp接受数据后马上将数据转换成一个字符串存于客户端脚本在中,选择一菜单时,用javascript到字符串中检索你要的数据来动态显示如果你每电击一次都连接服务器并查询数据库的话,那效率肯定不会高 我照 xmpp(火狐狸) 的方法做呢下拉筐,但是第二个下拉筐只出现"--请选择--"。我的代码是三、演示文件<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><form name="form1" METHOD=POST action="denyu1.jsp"><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>灯语</title><script language="JavaScript" src="changeSelect.js"></script></head><body><%@page contentType="text/html; charset=gb2312"%><%! char ww;%><%@ page language="java" import="java.sql.*"%><%Connection conn1=null; ResultSet rs1=null; Statement stmt1; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn1=DriverManager.getConnection("jdbc:odbc:dddd","",""); stmt1=conn1.createStatement();%><div align="center"> <p><strong><font size="6">JAVA</font></strong></p> <hr> <table width="75%" border="1"> <tr> <td width="35%"><% rs1=stmt1.executeQuery("select * from table1"); %><%!String aa,aa1;%> <select name="name" id="select1" onChange="changeSelect(this,'name','xingbi','name')"> <%while(rs1.next()) {aa=rs1.getString(1); aa1=rs1.getString(3); %> <option value=<%=aa%>><%=aa%></option> <% } %> </select> </td><td><select name="xingbi" size="1"> </select></td> <td> </td> </tr><tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> </table> <p><strong><font size="6"></font></strong></p> <p> </p></div><p><input type="submit" value="确定"><input type="submit" value="取消"></p><a href="dy.jsp">去</a></form></body></html>二。xml.jsp<%@ page import="java.sql.*"%><%@ page contentType="text/html;charset=GBK"%><jsp:useBean id="operate" scope="page" class="mydb.mydb"/><root><%ResultSet rs;String sql;String temp;String field1,field2;field1 = request.getParameter("field1");field2 = request.getParameter("field2");temp = new String(request.getParameter(field2).getBytes("ISO8859-1"),"GBK");sql = "select "+field1+" from table1 where "+field2+"='"+temp+"' ;rs = operate.ExecuteQuery(sql);while(rs.next()){out.println("<id>"+rs.getString(1)+"</id>");}%>一。changeSelect.jsvar oReq;x = new ActiveXObject("Microsoft.XMLDOM");function getRemoteData(field1,field2,option){ var strA = ""; oReq = new ActiveXObject("Microsoft.XMLHTTP"); oReq.open("POST","xml.jsp?field1="+field1+"&field2="+field2+option,false); oReq.setRequestHeader("Content-Length",strA.length); oReq.setRequestHeader("Content-type","application/x-www-form-urlencoded"); oReq.send(strA);}function changeSelect(select,source,target,option){ getRemoteData(target,option,"&"+source+"="+select.options[select.selectedIndex].value); clearSelect(eval("form1."+target)); fillSelect(eval("form1."+target));}function clearSelect(select){ select.options.length = 0; select.options[select.options.length]= new Option("--请选择--","");}function fillSelect(select){ x.loadXML(oReq.responseText); n=x.selectNodes("/root/id"); if(n!=null) { for(i=0;i<n.length;i++) { select.options[select.options.length]=new Option(n(i).text,n(i).text); }}} 首先,请确认你的IE版本是否为5.5以上,其次,你可以在function fillSelect(select)内增加一行alert(oReq.responseText),看是否显示一段类xml文本。还有什么问题请留言。 没有显示一段类xml文本,我的IE是6。0的 在我点呢第一个下拉筐之后,显示一段类xml文本,其中有一错误unclosed string literalsql = "select "+field1+" from table1 where "+field2+"='"+temp+"' ; ^ 上面那句话有错误啊。sql = "select "+field1+" from table1 where "+field2+"='"+temp+"'" ; 用out.print显示出来即可,javascript会自动解析并执行 xmpp,还说呢,我用你文档的的方法都没作用,不知管不管用哦?你QQ多少,有空跟你聊聊。 (急)上传控件,有哪些可以续传的 UltraEdit乱码问题 如何在页面返回时保存上页用户填写的资料 怪问题一个,死活不行!!! 关于JSP中传递对象的问题 为什么加了字段名就通不过了呢!!! 怎样遍历reseltset中的内容? 如何将用dom解析的Document对象中的内容输出到xml文件中? el表达式能过滤集合吗?有什么好办法。 ibatis2.0 连接数据库对密码字段加密的问题 怎么实现下面的sql查询? 怎样获取对方IP
<script Language="JavaScript" >
<%
Connection conn2=null;
ResultSet rs2=null;
Statement stmt2;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn2=DriverManager.getConnection("jdbc:odbc:dddd","","");
stmt2=conn2.createStatement();
rs2=stmt2.executeQuery("select * from table1");
var my;while(rs2.next()){
my=String(rs2.getString(1));
}
System.out.println("var my="+my);
%>
http://www.csdn.net/develop/Read_Article.asp?Id=17617
三、演示文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>
<head>
<form name="form1" METHOD=POST action="denyu1.jsp">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>灯语</title>
<script language="JavaScript" src="changeSelect.js"></script>
</head>
<body>
<%@page contentType="text/html; charset=gb2312"%>
<%! char ww;%>
<%@ page language="java" import="java.sql.*"%>
<%
Connection conn1=null;
ResultSet rs1=null;
Statement stmt1;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn1=DriverManager.getConnection("jdbc:odbc:dddd","","");
stmt1=conn1.createStatement();
%>
<div align="center"> <p><strong><font size="6">JAVA</font></strong></p>
<hr>
<table width="75%" border="1">
<tr>
<td width="35%">
<%
rs1=stmt1.executeQuery("select * from table1");
%>
<%!String aa,aa1;%>
<select name="name" id="select1" onChange="changeSelect(this,'name','xingbi','name')">
<%while(rs1.next())
{aa=rs1.getString(1);
aa1=rs1.getString(3);
%>
<option value=<%=aa%>><%=aa%></option>
<% } %>
</select> </td><td><select name="xingbi" size="1">
</select></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<p><strong><font size="6"></font></strong></p>
<p> </p>
</div><p><input type="submit" value="确定">
<input type="submit" value="取消">
</p>
<a href="dy.jsp">去</a>
</form>
</body>
</html>
二。xml.jsp
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="operate" scope="page" class="mydb.mydb"/><root>
<%
ResultSet rs;
String sql;
String temp;
String field1,field2;
field1 = request.getParameter("field1");
field2 = request.getParameter("field2");
temp = new String(request.getParameter(field2).getBytes("ISO8859-1"),"GBK");
sql = "select "+field1+" from table1 where "+field2+"='"+temp+"' ;
rs = operate.ExecuteQuery(sql);
while(rs.next())
{out.println("<id>"+rs.getString(1)+"</id>");
}
%>
一。changeSelect.jsvar oReq;
x = new ActiveXObject("Microsoft.XMLDOM");
function getRemoteData(field1,field2,option)
{
var strA = "";
oReq = new ActiveXObject("Microsoft.XMLHTTP");
oReq.open("POST","xml.jsp?field1="+field1+"&field2="+field2+option,false);
oReq.setRequestHeader("Content-Length",strA.length);
oReq.setRequestHeader("Content-type","application/x-www-form-urlencoded");
oReq.send(strA);
}
function changeSelect(select,source,target,option)
{
getRemoteData(target,option,"&"+source+"="+select.options[select.selectedIndex].value);
clearSelect(eval("form1."+target));
fillSelect(eval("form1."+target));
}
function clearSelect(select)
{
select.options.length = 0;
select.options[select.options.length]= new Option("--请选择--","");
}
function fillSelect(select)
{
x.loadXML(oReq.responseText);
n=x.selectNodes("/root/id");
if(n!=null)
{
for(i=0;i<n.length;i++)
{
select.options[select.options.length]=new Option(n(i).text,n(i).text);
}}}
其次,你可以在function fillSelect(select)内增加一行alert(oReq.responseText),看是否显示一段类xml文本。
还有什么问题请留言。
unclosed string literal
sql = "select "+field1+" from table1 where "+field2+"='"+temp+"' ;
^
sql = "select "+field1+" from table1 where "+field2+"='"+temp+"'" ;