在一个jsp页面实现二级下拉框联动,实时读取数据库数据。
在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常使用,只需要修改很小的地方就可以使用。设计的文件,serch.jsp,main.js,bytetostr.js,
先讲一下main.js,这是JavaScript,其中注意修改jsp页面名称。
function findObject(fName,initValue)…{
var xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);
xmlhttp.open(“POST”,”searchmx.jsp?findObject=”+fName+”&initValue=”+initValue,false);//注意修改jsp页面
xmlhttp.send();
document.getElementById(fName).innerhtml=bytes2BSTR(xmlhttp.responsebody); //bytes2BSTR函数在bytetostr.js中
}
其次为bytetostr.js,这是vbscript,这个不需要修改任何内容,他的主要功能就是读取数据转换字符串用的。
Function bytes2BSTR(vIn)
dim i
strReturn = “”
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
接下来就是serch.jsp页面,只需要修改div中的id为你想要的名字,再将一开始的包更换一下,已经sql语句改下就可以了,有不明白的可以参与讨论
//导入相应的包
//这部分代码用于执行查询数据库,返回字符串
if (request.getParameter(“findObject”)!=null)…{
if (request.getParameter(“findObject”).equals(“hy_dm”))…{
DBConnect conn = null;
ResultSet rs = null;
try…{
out.print(“”);
String sql = “select * from dm_hy group by left(hy_dm,7)”;
conn = new DBConnect();
conn.setPstmt(sql);
rs = conn.executeQuery(sql);
while(rs.next())…{
out.print(“
}
conn = new DBConnect();
conn.setPstmt(sql);
rs = conn.executeQuery(sql);
while(rs.next())…{
out.print(“