Espero me puedas ayudar la verdad me urge, lo que pasa es que trabajo en jsp y lo que quiero es manejar un como mostrando datos de una tabla pero al hacer clic en ese comobo y elegir una opción en el segundo combo quiero desplegar una consulta hecha en jsp osea cuantas veces cambie el primer combo se modificaría el segundo pero todo consultando mi base de oacle.
1 respuesta
Respuesta de drbravo
1
1
drbravo, Soy tecnologo en sistemas de informacion con experiencia en C++,...
Si entendí bien la pregunta quieres que el combo se cambie automáticamente pero dependiendo de los datos en la base de datos, para hacer esto debes hacer una relación entre javascript y script java puro, te recomiendo que hagas un bean el cual traiga los datos de la base de datos entonces un método que puedes llamar hacerJavascript que retorne un String debes construir el javascript con los valores de la base de datos, imaginate que vamos a traer valores de ciudades, debes hacer varios Array de javascript en el cual vamos a meter los datos de las ciudades ejm: var provincias_1=new Array("-","Andalucía","Asturias","Baleares","Canarias","Castilla y León","Castilla-La Mancha","...") var provincias_2=new Array("-","Salta","San Juan","San Luis","La Rioja","La Pampa","...") var provincias_3=new Array("-","Cali","Santamarta","Medellin","Cartagena","...") var provincias_4=new Array("-","Aisne","Creuse","Dordogne","Essonne","Gironde ","...") los puedes hacer usando while(). luego haces una funcion cambiarprovicincia function cambia_provincia(){ //tomo el valor del select del pais elegido var pais pais = document.f1.pais[document.f1.pais.selectedIndex].value //miro a ver si el pais está definido if (pais != 0) { //si estaba definido, entonces coloco las opciones de la provincia correspondiente. //selecciono el array de provincia adecuado mis_provincias=eval("provincias_" + pais) //calculo el numero de provincias num_provincias = mis_provincias.length //marco el número de provincias en el select document.f1.provincia.length = num_provincias //para cada provincia del array, la introduzco en el select for(i=0;i<num_provincias;i++){ document.f1.provincia.options.value=mis_provincias document.f1.provincia.options.text=mis_provincias } }else{ //si no había provincia seleccionada, elimino las provincias del select document.f1.provincia.length = 1 //coloco un guión en la única opción que he dejado document.f1.provincia.options[0].value = "-" document.f1.provincia.options[0].text = "-" } //marco como seleccionada la opción primera de provincia document.f1.provincia.options[0].selected = true } y luego pones el select : <form name="f1"> <select name=pais onchange="cambia_provincia()"> <option value="0" selected>Seleccione... <option value="1">España <option value="2">Argentina <option value="3">Colombia <option value="4">Francia </select> <select name=provincia> <option value="-">- </select> </form> RECUERDA LOS ARREGLOS EN JAVASCRIPT LO VAS A CONSTRUIR DINÁMICAMENTE CON LOS DATOS DE LA BASE DE DATOS Y LOS DEVUELVES TODOS COMPLETOS EN UN STRING la verdad es un poco complicado pero con paciencia lo lograras. La verdad es la pregunta más complicada que me hanb hecho pero tienes suerte que he hecho aplicaciones usando este método y me funciona a la perfección
¿Cómo vas con tu problema le encontraste solución?