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
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!--Funcion javascript para la carga del combobox/drop-down list de transacciones --> <script type="text/javascript"> function cargarCTN() { //toma la ID de la aplicación seleccionada del combo cmbApplicationName var seleccion = document.getElementById('cmbAN'); } </script> <title>JSP Page</title> </head> <body> <form name="frmEliminar" method="POST"> <table> <tbody> <tr> <td>Nombre de Aplicación</td> <td><select style="width: 317px" id="cmbAN" name="cmbApplicationName" onchange="cargarCTN()" > <option>--Seleccione--</option> <!-- Carga el combobox/drop-down list con las posibles aplicaciones --> <%for(Application appl: new dao.ApplicationDao().listarAplicaciones()){%> <option value="<%= appl.getIdApplication() %>"><%= appl.getNameApplication()%></option> <% }%> </select></td> </tr> <tr> <td>Nombre de Transacción</td> <td><select id="cmbTN" name="cmbTransactionName"> <option>--Seleccione--</option> <%for(Transaction tran: new dao.TransactionDao().listarTransacciones("AQUI VA LA ID OBTENIDA DEL SELECT ANTERIOR (cmbApplicationName)")) {%> <option value="<%= tran.getIdTransaction() %>"><%= tran.getNameTransaction()%></option> <%}%> </select></td> </tr> <tr> <td>Desde: </td> <td><input name="dtpFechaInicio" id="datetimepicker1" type="text" ></td> </tr> <tr> <td>Hasta: </td> <td><input name="dtpFechaFin" id="datetimepicker2" type="text" ></td> </tr> </tbody> </table> <br> <input type="submit" value="BUSCAR" name="btnBuscar" /> <input type="submit" value="ELIMINAR" name="btnEliminar" /> </form> </body> <!-- Jquery para Datetimepicker--> <link rel="stylesheet" type="text/css" href="jsdtp/jquery.datetimepicker.css"> <script src="jsdtp/jquery.js"></script> <script src="jsdtp/jquery.datetimepicker.js"></script> <script>jQuery('#datetimepicker1').datetimepicker();</script> <script>jQuery('#datetimepicker2').datetimepicker();</script> </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
/** Crea y devuelve una lista (ArrayList) con la ID y nombre * de las transacciones a base de la ID de una aplicación. */ public static ArrayList<Transaction> listarTransacciones(int appID){ ArrayList<Transaction> trans = new ArrayList<Transaction>(); try { + "SELECT TransactionID, TransactionName " + "FROM Transactions, Applications " + "WHERE Applications.ApplicationID = ?"; listar.setInt(1, appID); while(rs.next()){ Transaction transaccion = new Transaction(); transaccion.setIdTransaction(rs.getInt("TransactionID")); transaccion.setNameTransaction(rs.getString("TransactionName")); trans.add(transaccion); } out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<title>Error Exception</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>SQLException "+ ex +"</h1>"); out.println("</body>"); out.println("</html>"); out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<title>Error Exception</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Exception "+ ex +"</h1>"); out.println("</body>"); out.println("</html>"); } return trans; }
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 ^^