Combos inteligentes

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
1
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?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas