Implemente el enlace del cuadro desplegable secundario en una página jsp y lea los datos de la base de datos en tiempo real. Este método es muy práctico y solo necesita una pequeña modificación para usarlo. Los archivos diseñados, serch.jsp, main.js, bytetostr.js,
hablemos primero de main.js, que es javascript, y preste atención a modificar el nombre de la página jsp.
función buscarObjeto(fNombre,valorinit)...{
var xmlhttp = nuevo ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","searchmx.jsp?findObject="+fName+"&initValue="+initValue,false);//Preste atención a modificar la página jsp
xmlhttp.send();
document.getElementById(fName).innerHTML=bytes2BSTR(xmlhttp.responsebody); //la función bytes2BSTR está en bytetostr.js;
}
El segundo es bytetostr.js, que es vbscript. No necesita modificar ningún contenido. Su función principal es leer datos y convertir cadenas.
Función bytes2BSTR(vIn)
dimí
strRetorno = ""
Para i = 1 a LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
Si ThisCharCode < & H80 Entonces
strReturn = strReturn & Chr(ThisCharCode)
Demás
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
yo = yo + 1
Terminar si
Próximo
bytes2BSTR = strReturn
Función final
La siguiente es la página serch.jsp. Solo necesita modificar la identificación en el div al nombre que desee y luego cambiar el paquete inicial. Si no comprende, puede participar en la discusión. .
<%@ página 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"%>//Importa el paquete correspondiente
<%
//Esta parte del código se utiliza para consultar la base de datos y devolver una cadena
si (request.getParameter("findObject")!=null)...{
si (request.getParameter("findObject").equals("hy_dm"))...{
Conexión DBConnect = nulo;
Conjunto de resultados rs = nulo;
intentar...{
out.print("<select name='hy_dm' onchange="javascript:findObject('hymx_dm',this.value)">");
String sql = "seleccione * del grupo dm_hy por izquierda (hy_dm,7)";
conexión = nuevo DBConnect();
conexión.setPstmt(sql);
rs = conexión.executeQuery(sql);
mientras(rs.siguiente())...{
out.print("<option value='"+rs.getString("hy_dm")+"'>"+rs.getString("hy_mc")+"</option>");
}
out.print("</select>");
}
captura (Excepción e)...{
}
finalmente...{
intentar...{
si (rs! = nulo)
rs.cerrar();
si (conexión! = nulo)
conexión.close();
}
captura (Excepción e)...{
e.printStackTrace();
}
}
}
si (request.getParameter("findObject").equals("hymx_dm"))...{
Conexión DBConnect = nulo;
Conjunto de resultados rs = nulo;
intentar...{
out.print("<seleccionar nombre='hymx_dm' >");
Cadena sql = nulo;
si (request.getParameter("initValue").equals(""))...{
sql = "seleccionar * de dm_hy";
}
demás...{
sql = "select * from dm_hy donde hy_dm me gusta '"+request.getParameter("initValue")+"%'";
}
conexión = nuevo DBConnect();
conexión.setPstmt(sql);
rs = conexión.executeQuery(sql);
mientras(rs.siguiente())...{
out.print("<option value='"+rs.getString("hy_dm")+"'>"+rs.getString("hy_mc")+"</option>");
}
out.print("</select>");
}
captura (Excepción e)...{
}
finalmente...{
intentar...{
si (rs! = nulo)
rs.cerrar();
si (conexión! = nulo)
conexión.close();
}
captura (Excepción e)...{
e.printStackTrace();
}
}
}
devolver;
}
%>
<html>
<cabeza>
<enlace href="css/table.css" type="text/css" rel="hoja de estilo">
<script language=vbscript src="css/bytetostr.js"></script>
<script language=javascript src="css/main.js"></script>//Importar dos archivos js
</cabeza>
<cuerpo>
<div>Industria:</div>
<div id="hy_dm"></div> //Se utiliza para mostrar la cadena devuelta
<div>Sector detallado:</div>
<div id="hymx_dm"></div>//Se utiliza para mostrar la cadena devuelta
</cuerpo>
</html>
<lenguaje de escritura="javascript">
buscarObjeto("hy_dm","");
findObject("hymx_dm","");//Estos dos elementos son llamadas de ejecución de página
</script>
Todos son bienvenidos a discutir