Cita:
Iniciado por saman0suke ...combobox que tome dos atributos de una tabla (id_nacionalidad, nombre) pero que solo almacene uno, es decir quiero visualizar el nombre del pais, pero que se guarde el id de este...
Mencionas que usas JSP pero no mencionas si usas servlets, sí ese fuera el caso:
Antes de desplegar tú jsp:
- Obtener los datos de la base de datos (id_nacionalidad, nombre)
- Guardar dicha información en dos arreglos, lists o lo que se te ocurra
- Mandar dicha información al jsp mediante request.setAttribute
Dentro de tu jsp:
- Obtener la información enviada por el servlet
- Iterar los arreglos o lists para generar el código del drop-list
- Seguir con la lógica de negocio que tienes que implementar
Creo que lo mas importante esta en el jsp:
Código:
<%
String arreglo1=(String) request.getAttribute("id"); //id puede ser modificado (al igual que "arreglo1") por cualquier variable de tú elección
String arreglo2=(String) request.getAttribute("nombre"); //nombre puede ser modificado (al igual que "arreglo2") por cualquier variable de tú elección
String opciones="";
for (int i=0;i<arreglo1.length;i++)
{
opciones="<option value="+arreglo1+">"+arreglo2+"</option>";
//Observar que los ids van en "value" y que los nombres va antes del ">" y después del "</option>"
}
%>
......
<!--Código de tu jsp--!>
<select name="Select1">
<%=opciones%>
</select></form>
<!--Continua tu código o lógica de negocio--!>
Esta es una manera que se me ocurrió, aunque la verdad tengo curiosidad acerca de sí se puede hacer atraves del doGet u otra forma.
Editado:
Esta solución es suponiendo que siempre existira info en la base de datos acerca de los id_nacionalidad y nombre, si se da el caso de que no exista info se tiene que modificar el código para tomar en cuenta nulos.
PD: Para guardar los id_nacionalidad en la base de datos solo se hace en el servlet:
String id_seleccionado=(String) request.getParameter("Select1");