
30/06/2008, 15:46
|
Usuario no validado | | Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 16 años, 8 meses Puntos: 10 | |
Respuesta: combobox en jsp Es comun lo que pides, si tienes una amplia experiencia en desarrollar sistemas web puedes usar ajax.
Sino quieres meterte con tanto relajo, puedes poner en el atributo action de tu form el mismo nombre de tu pagina para que cuando le hagas Aceptar envies el Pais que seleccionaste en el primer combo y en base a ese valor hacer el query y que te traiga las localidades que pertenecen a ese pais:
Guayaquil,etc. El codigo que tengo carga la primera lista de la BD pero la segunda solo puedo hacerlo escribiendo las opciones en el codigo. Espero que alguien me pueda ayudar con el segundo combobox
Aqui va el codigo que tengo:
Código: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*,java.net.*,java.sql. *" %>
<html>
<head>
<title>EJEMPLO</title>
</head>
<body>
<form name="doublecombo" action="nombrePagina.jsp">
<%
Connection canal = null;
ResultSet tabla= null;
Statement instruccion=null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance ();
canal=DriverManager.getConnection("jdbc:mysql://localhost/contenedor","root","java");
instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSIT IVE,
ResultSet.CONCUR_UPDATABLE);
} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};
try {
tabla = instruccion.executeQuery("select RegionDescription from region");
} catch(SQLException e) {};
out.println("Pais:<SELECT NAME=example onChange=redirect(this.options.selectedIndex)><OPT ION> - Elejir
Pais - </OPTION>");
while(tabla.next()) {
out.print("<OPTION>"+tabla.getString(1)+"</OPTION>");
};
out.print("</SELECT>");
tabla.close();instruccion.close();canal.close();
%> //Aqui llenas tu segundo combo
<% String pais=request.getParameter("example");
String query="select RegionDescription from region";
if(pais!=null)
query+=" where pais="+pais;
Connection canal = null;
ResultSet tabla= null;
Statement instruccion=null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance ();
canal=DriverManager.getConnection("jdbc:mysql://localhost/contenedor","root","java");
instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSIT IVE,
ResultSet.CONCUR_UPDATABLE);
} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};
try {
tabla = instruccion.executeQuery(query);
} catch(SQLException e) {};
out.println("Localidad:<SELECT NAME=localidad>");
while(tabla.next()) {
out.print("<OPTION>"+tabla.getString(1)+"</OPTION>");
};
out.print("</SELECT>");
tabla.close();instruccion.close();canal.close();
%>
</form>
</body>
</html>
No probe el codigo pero la idea ahi esta.
Haz varias pruebas hasta que salga y ahi nos avisas cualquier cosa
Saludos!! |