Foros del Web » Programando para Internet » Javascript »

Retorno de valor Onchange para ser usado como parametro

Estas en el tema de Retorno de valor Onchange para ser usado como parametro en el foro de Javascript en Foros del Web. Buenas a todos, es primera vez que ingreso a este foro y es increíble la cantidad de contenido que hay aquí, y la ayuda que ...
  #1 (permalink)  
Antiguo 20/03/2015, 08:58
Avatar de oshho  
Fecha de Ingreso: marzo-2015
Mensajes: 40
Antigüedad: 9 años, 1 mes
Puntos: 0
Pregunta Retorno de valor Onchange para ser usado como parametro

Buenas a todos, es primera vez que ingreso a este foro y es increíble la cantidad de contenido que hay aquí, y la ayuda que brindan los usuarios es muy buena, es por ello que en esta ocasión requiero de su ayuda hahaha. Bueno directo al grano, resulta que estoy haciendo una aplicación web con JSP, dentro de esta aplicación tengo 2 combobox, 1 combobox carga una lista desde una base de datos, y el segundo combobox debería hacer lo mismo, pero basado en la selección del primer combobox. (Un ejemplo muy común de esto es clasico par de combos "País" y "Ciudad" en el que el segundo solo cargaría las ciudades del país seleccionado)

Bueno a continuación le dejo le codigo de mi JSP, en el cual yo se que me falta hacer algo en la función cargarCTN(), pero bueno hace 10 minutos que comencé a usar Javascript por primera vez en mi vida, por lo que no entiendo mucho.

Código Java:
Ver original
  1. <html>
  2.     <head>
  3.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4.         <!--Funcion javascript para la carga del combobox/drop-down list de transacciones -->
  5.         <script type="text/javascript">
  6.             function cargarCTN()
  7.             {
  8.                 //toma la ID de la aplicación seleccionada del combo cmbApplicationName
  9.                 var seleccion = document.getElementById('cmbAN');
  10.             }
  11.         </script>
  12.         <title>JSP Page</title>
  13.     </head>
  14.  
  15. <body>
  16.         <form name="frmEliminar" method="POST">
  17.             <table>
  18.                 <tbody>
  19.                     <tr>
  20.                         <td>Nombre de Aplicación</td>
  21.                         <td><select  style="width: 317px" id="cmbAN" name="cmbApplicationName" onchange="cargarCTN()" >
  22.                                 <option>--Seleccione--</option>
  23.                         <!-- Carga el combobox/drop-down list con las posibles aplicaciones -->
  24.                                 <%for(Application appl: new dao.ApplicationDao().listarAplicaciones()){%>
  25.                                 <option value="<%= appl.getIdApplication() %>"><%= appl.getNameApplication()%></option>
  26.                                 <% }%>
  27.                             </select></td>
  28.                     </tr>
  29.                     <tr>
  30.                         <td>Nombre de Transacción</td>
  31.                         <td><select  id="cmbTN" name="cmbTransactionName">
  32.                                 <option>--Seleccione--</option>
  33.                                 <%for(Transaction tran: new dao.TransactionDao().listarTransacciones("AQUI VA LA ID OBTENIDA DEL SELECT ANTERIOR (cmbApplicationName)")) {%>
  34.                                 <option value="<%= tran.getIdTransaction() %>"><%= tran.getNameTransaction()%></option>
  35.                                 <%}%>
  36.                             </select></td>
  37.                     </tr>
  38.                     <tr>
  39.                         <td>Desde: </td>
  40.                         <td><input name="dtpFechaInicio" id="datetimepicker1" type="text" ></td>
  41.                     </tr>
  42.                     <tr>
  43.                         <td>Hasta: </td>
  44.                         <td><input name="dtpFechaFin" id="datetimepicker2" type="text" ></td>
  45.                     </tr>
  46.                 </tbody>
  47.             </table>
  48.             <br>
  49.             <input type="submit" value="BUSCAR" name="btnBuscar" /> <input type="submit" value="ELIMINAR" name="btnEliminar" />
  50.         </form>
  51.     </body>
  52.          
  53.     <!-- Jquery para Datetimepicker-->
  54.         <link rel="stylesheet" type="text/css" href="jsdtp/jquery.datetimepicker.css">
  55.         <script src="jsdtp/jquery.js"></script>
  56.         <script src="jsdtp/jquery.datetimepicker.js"></script>
  57.         <script>jQuery('#datetimepicker1').datetimepicker();</script>
  58.         <script>jQuery('#datetimepicker2').datetimepicker();</script>
  59. </html>

Bueno, prácticamente lo que quiero hacer es que al seleccionar una opción del cmbApplicationName y que a través del onchange este devuelva la ID para ser utilizada como parámetro de entrada para cargar el cmbTransactionName, a continuación les dejo la query que tengo en una clase Java para obtener la lista del cmbTransactionName.

Código Java:
Ver original
  1. /** Crea y devuelve una lista (ArrayList) con la ID y nombre
  2.      * de las transacciones a base de la ID de una aplicación. */
  3.     public static ArrayList<Transaction> listarTransacciones(int appID){
  4.         ArrayList<Transaction> trans = new ArrayList<Transaction>();
  5.         Connection conexion = Conexion.getConexion();
  6.         try {
  7.             String query = " USE ddbs "
  8.                     + "SELECT TransactionID, TransactionName "
  9.                     + "FROM Transactions, Applications "
  10.                     + "WHERE Applications.ApplicationID = ?";
  11.             PreparedStatement listar = conexion.prepareStatement(query);
  12.             listar.setInt(1, appID);
  13.             ResultSet rs = listar.executeQuery();
  14.             while(rs.next()){
  15.                 Transaction transaccion = new Transaction();
  16.                 transaccion.setIdTransaction(rs.getInt("TransactionID"));
  17.                 transaccion.setNameTransaction(rs.getString("TransactionName"));
  18.                 trans.add(transaccion);
  19.                
  20.             }
  21.            
  22.        } catch (SQLException ex) {
  23.             out.println("<!DOCTYPE html>");
  24.             out.println("<html>");
  25.             out.println("<head>");
  26.             out.println("<title>Error Exception</title>");            
  27.             out.println("</head>");
  28.             out.println("<body>");
  29.             out.println("<h1>SQLException "+ ex +"</h1>");
  30.             out.println("</body>");
  31.             out.println("</html>");
  32.         } catch (Exception ex) {
  33.             out.println("<!DOCTYPE html>");
  34.             out.println("<html>");
  35.             out.println("<head>");
  36.             out.println("<title>Error Exception</title>");            
  37.             out.println("</head>");
  38.             out.println("<body>");
  39.             out.println("<h1>Exception "+ ex +"</h1>");
  40.             out.println("</body>");
  41.             out.println("</html>");
  42.         }
  43.         return trans;
  44.     }

Bueno, espero que puedan ayudarme haha, por si a alguno no le quedo claro les dejo un dibujito que demuestra lo que quiero hacer (Suponiendo que es posible hacerlo)

Muchas gracias ^^
  #2 (permalink)  
Antiguo 20/03/2015, 09:41
Avatar de oshho  
Fecha de Ingreso: marzo-2015
Mensajes: 40
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Retorno de valor Onchange para ser usado como parametro

Bueno avanzando un poco, me he dado cuenta de que mi function hace algo que no tiene nada que ver con lo que quiero hacer hahahaha, pero bueno si alguien me puede aportar con su ayuda o algún codigo de ejemplo reflejando lo que quiero hacer, me sería de gran ayuda.
  #3 (permalink)  
Antiguo 21/03/2015, 17:11
Avatar de oshho  
Fecha de Ingreso: marzo-2015
Mensajes: 40
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Retorno de valor Onchange para ser usado como parametro

Alguna ayuda? :(
  #4 (permalink)  
Antiguo 21/03/2015, 17:41
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Retorno de valor Onchange para ser usado como parametro

Hola:

¡Qué lio!, Estudié java pero me pierdo... estás en el foro javascript, así que aquí no vale el código java... ¿Sabes que no es lo mismo...?

El código debes verlo desde el navegador; por tus líneas, no veo nada que tenga que ver con javascript.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 22/03/2015, 17:59
Avatar de oshho  
Fecha de Ingreso: marzo-2015
Mensajes: 40
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Retorno de valor Onchange para ser usado como parametro

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

¡Qué lio!, Estudié java pero me pierdo... estás en el foro javascript, así que aquí no vale el código java... ¿Sabes que no es lo mismo...?

El código debes verlo desde el navegador; por tus líneas, no veo nada que tenga que ver con javascript.

Saludos
Es que prácticamente lo que necesito hacer se hace en Javascript, por eso hice el post en este subforo, yo no se nada de javascript es por ello que necesito ayuda desde 0 haha, de como hacer lo que les expliqué.
  #6 (permalink)  
Antiguo 24/03/2015, 09:17
Avatar de oshho  
Fecha de Ingreso: marzo-2015
Mensajes: 40
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Retorno de valor Onchange para ser usado como parametro

Bueno hice el post en Java, pero ahora llegué al tema del Javascript, y supongo que eso va aquí, esta es la función que saque de un tutorial, no se muy bien como funciona pero no me resulta :(

Dejare el tema de JAVA para que puedan hecharle una mirada y ordenarse u algo :)
http://www.forosdelweb.com/f45/combos-dependientes-jsp-1123889

Este JS se ejecuta por medio del evento Onchange que añadi en el primer combo.
Código Javascript:
Ver original
  1. <head>
  2.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3.         <!--Funcion javascript para la carga del combobox/drop-down list de transacciones -->
  4.         <script type="text/javascript" src="js/jquery-1.11.2.min.js" ></script>
  5.         <script type="text/javascript">
  6.             function cargarCTN(){
  7.                 $.post("sel_tran.jsp",$("#frmEliminar").serialize(),
  8.                 function(frm_del){$("#cmbTransactionName").html(frm_del);});
  9.             }
  10.         </script>
  11.         <title>Eliminar Métricas</title>
  12.     </head>

no tengo idea como funciona la funcion pero tuve que crear un jsp llamado "sel_tran.jsp" para utilizarla (repito que yo no se nada de javascript y en el tutorial no explican como funciona solo lo hacen)

aquí dejo el JSP (En el tutorial que ví todo funcionó pero el creaba las querys dentro del mismo JSP y también creó una variable de conexión que obtenia datos los cuales ni idea como eran , y bueno esto pierde la estructura que estoy usando es por ello que intente cargar el combo de la misma manera de como cargué el anterior, pero aún no se a que se debe que no me funcione)

Código Javascript:
Ver original
  1. <%@page import="dto.Transaction"%>
  2. <%@page import="dao.TransactionDao"%>
  3.  
  4. <% int appID = Integer.parseInt(request.getParameter("cmbApplicationName")); %>
  5.  
  6. <select name="cmbTransactionName">
  7.     <option value="">--Seleccione--</option>
  8.     <%for(Transaction trans: new dao.TransactionDao().listarTransacciones(appID)) {%>
  9.     <option value="<%= trans.getIdTransaction() %>"><%= trans.getNameTransaction() %></option>
  10.     <% } %>
  11. </select>

espero que puedan ayudarme gracias.

Etiquetas: anidados, combobox, dependientes, jsp, onchange, return
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:33.