Implemente a ligação da caixa suspensa secundária em uma página jsp e leia os dados do banco de dados em tempo real. Este método é muito prático e só precisa ser modificado um pouco para utilizá-lo. Os arquivos projetados, serch.jsp, main.js, bytetostr.js,
vamos falar primeiro sobre main.js, que é javascript, e preste atenção na modificação do nome da página jsp.
função encontrarObjeto(fNome,InitValue)...{
var xmlhttp = novo ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","searchmx.jsp?findObject="+fName+"&initValue="+initValue,false);//Preste atenção ao modificar a página jsp
xmlhttp.send();
document.getElementById(fName).innerHTML=bytes2BSTR(xmlhttp.responsebody //a função bytes2BSTR está em bytetostr.js);
}
O segundo é bytetostr.js, que é vbscript. Não precisa modificar nenhum conteúdo. Sua principal função é ler dados e converter strings.
Função bytes2BSTR(vIn)
dimi
strReturn = ""
Para i = 1 para LenB(vIn)
EsteCharCode = AscB(MidB(vIn,i,1))
Se ThisCharCode <&H80 Então
strReturn = strReturn & Chr(ThisCharCode)
Outro
PróximoCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
eu = eu + 1
Terminar se
Próximo
bytes2BSTR = strReturn
Função final
A seguir está a página serch.jsp. Você só precisa modificar o id no div para o nome desejado e, em seguida, alterar o pacote inicial. Se não entender, você pode participar da discussão. .
<%@ page contentType="text/html; charset=gb2312" idioma="java" import="com.sjth.zdsygl.vo.*,com.sjth.zdsygl.biz.*,java.util.*,com .sjth.zdsygl.jdbc.*,java.sql.ResultSet"%>//Importa o pacote correspondente
<%
//Esta parte do código é usada para consultar o banco de dados e retornar uma string
if (request.getParameter("findObject")!=null)...{
if (request.getParameter("findObject").equals("hy_dm"))...{
conexão DBConnect = null;
Conjunto de resultados rs = null;
tentar...{
out.print("");
}
pegar (Exceção e)...{
}
finalmente...{
tentar...{
se (rs! = nulo)
rs.close();
if (conn! = nulo)
conn.close();
}
pegar (Exceção e)...{
e.printStackTrace();
}
}
}
if (request.getParameter("findObject").equals("hymx_dm"))...{
conexão DBConnect = null;
Conjunto de resultados rs = null;
tentar...{
out.print("
Stringsql=nulo;
if (request.getParameter("initValue").equals(""))...{
sql = "selecione * de dm_hy";
}
outro...{
sql = "selecione * de dm_hy onde hy_dm gosta '"+request.getParameter("initValue")+"%'";
}
conexão = new DBConnect();
conn.setPstmt(sql);
rs = conn.executeQuery(sql);
enquanto(rs.next())...{
out.print("");
}
out.print("");
}
pegar (Exceção e)...{
}
finalmente...{
tentar...{
se (rs! = nulo)
rs.close();
if (conn! = nulo)
conn.close();
}
pegar (Exceção e)...{
e.printStackTrace();
}
}
}
retornar;
}
%>
//Importar dois arquivos js
//Usado para exibir a string retornada
//Usado para exibir a string retornada