Implémentez le lien de la liste déroulante secondaire dans une page jsp et lisez les données de la base de données en temps réel. Cette méthode est très pratique et n'a besoin que d'être légèrement modifiée pour l'utiliser. Les fichiers conçus, serch.jsp, main.js, bytetostr.js,
parlons d'abord de main.js, qui est javascript, et faisons attention à la modification du nom de la page jsp.
fonction findObject(fName,initValue)...{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","searchmx.jsp?findObject="+fName+"&initValue="+initValue,false);//Faites attention à la modification de la page jsp
xmlhttp.send();
document.getElementById(fName).innerHTML=bytes2BSTR(xmlhttp.responsebody); //la fonctionbytes2BSTR est dans bytetostr.js
}
Le second est bytetostr.js, qui est vbscript. Il ne nécessite aucune modification de contenu. Sa fonction principale est de lire des données et de convertir des chaînes.
Fonction octets2BSTR(vIn)
dimi
strRetour = ""
Pour i = 1 À LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
Si ThisCharCode < &H80 Alors
strReturn = strReturn & Chr(ThisCharCode)
Autre
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
je = je + 1
Fin si
Suivant
octets2BSTR = strReturn
Fonction de fin
Vient ensuite la page serch.jsp. Il vous suffit de modifier l'identifiant dans le div avec le nom souhaité, puis de modifier le package initial. Si vous ne comprenez pas, vous pouvez participer à la discussion. .
<%@ page contentType="text/html; charset=gb2312" language="java" import="com.sjth.zdsygl.vo.*,com.sjth.zdsygl.biz.*,java.util.*,com .sjth.zdsygl.jdbc.*,java.sql.ResultSet"%>//Importer le package correspondant
<%
//Cette partie du code est utilisée pour interroger la base de données et renvoyer une chaîne
if (request.getParameter("findObject")!=null)...{
if (request.getParameter("findObject").equals("hy_dm"))...{
connexion DBConnect = null ;
ResultSet rs = nul ;
essayer...{
out.print("<select name='hy_dm' onchange="javascript:findObject('hymx_dm',this.value)">");
String sql = "sélectionnez * dans le groupe dm_hy par la gauche (hy_dm,7)" ;
conn = nouveau DBConnect();
conn.setPstmt(sql);
rs = conn.executeQuery(sql);
while(rs.next())...{
out.print("<option value=""+rs.getString("hy_dm")+"'>"+rs.getString("hy_mc")+"</option>");
}
out.print("</select>");
}
attraper (Exception e)...{
}
enfin...{
essayer...{
si (rs != nul)
rs.close();
si (conn != nul)
conn.close();
}
attraper (Exception e)...{
e.printStackTrace();
}
}
}
if (request.getParameter("findObject").equals("hymx_dm"))...{
connexion DBConnect = null ;
ResultSet rs = nul ;
essayer...{
out.print("<select name='hymx_dm' >");
Chaîne sql = null ;
if (request.getParameter("initValue").equals(""))...{
sql = "sélectionner * depuis dm_hy" ;
}
autre...{
sql = "select * from dm_hy où hy_dm comme '"+request.getParameter("initValue")+"%'";
}
conn = nouveau DBConnect();
conn.setPstmt(sql);
rs = conn.executeQuery(sql);
while(rs.next())...{
out.print("<option value=""+rs.getString("hy_dm")+"'>"+rs.getString("hy_mc")+"</option>");
}
out.print("</select>");
}
attraper (Exception e)...{
}
enfin...{
essayer...{
si (rs != nul)
rs.close();
si (conn != nul)
conn.close();
}
attraper (Exception e)...{
e.printStackTrace();
}
}
}
retour;
}
%>
<html>
<tête>
<link href="css/table.css" type="text/css" rel="stylesheet">
<script langage=vbscript src="css/bytetostr.js"></script>
<script language=javascript src="css/main.js"></script>//Importer deux fichiers js
</tête>
<corps>
<div>Industrie :</div>
<div id="hy_dm"></div> //Utilisé pour afficher la chaîne renvoyée
<div>Industrie détaillée :</div>
<div id="hymx_dm"></div>//Utilisé pour afficher la chaîne renvoyée
</corps>
</html>
<langage de script="javascript">
findObject("hy_dm","");
findObject("hymx_dm","");//Ces deux éléments sont des appels d'exécution de page
</script>
Tout le monde est invité à discuter