Yo estoy armando una página en php y me ha surgido la necesidad de incorporar algunos script javascript y con muy poco conocimientos los estoy poniendo en funcionamiento.
En este caso he logrado modificar y adaptar un script que encontre en la red y casi anda bien.
La finalidad es que de acuerdo al tipo de operacion inmobliliaria el usuario pueda elgir los valores minimo y maximo para la busqueda.
He logrado que funcione bien para VENDER y para ALQUILAR pero no me doy cuenta porque la tercera opcion que es Permuta no carga los valores.
He revisado varias veces y no entiendo que esta mal.
Si me das una manito te lo voy a agradecer
Código PHP:
<form name="f1">
<p>Ejemplo de tres combos combinados </p>
<p>
<select name=toperacion onchange="cargaValores()">
<option value="0" selected>Seleccione opción
<option value="1">Venta
<option value="2">Alquiler
<option value="3">Permuta
</select>
desde
<select name=vinferior>
<option value="-">-
</select>
hasta
<select name=vmaximo>
<option value="-">-
</select>
</p>
</form>
<script>
//defino una serie de varibles Array para cada tipo de operación
var valores_1=new Array("-","10000","20000","30000","35000","40000","50000","...")
var valores_2=new Array("-","2000","2500","3000","4000","5000","...")
var valores_3=new Array("-","10000","20000","30000","35000","40000","50000","...")
var valoresMax_1=new Array("-","20000","30000","40000","50000","60000","70000","...")
var valoresMax_2=new Array("-","2500","3000","4000","5000","6000","...")
var valoresMAx_3=new Array("-","20000","30000","40000","50000","60000","70000","...")
//función que cambia los valores del select en función del tipo de operacion que se haya escogido en el select de toperacion
function cargaValores(){
//tomo el valor del select del toperacion elegido
var toperacion
toperacion = document.f1.toperacion[document.f1.toperacion.selectedIndex].value
//miro a ver si el toperacion está definido
if (toperacion != 0) {
//si estaba definido, entonces coloco las opciones de los valores correspondiente.
//selecciono el array de valores adecuado
mis_valores=eval("valores_" + toperacion)
mis_valores2=eval("valoresMax_" + toperacion)
//calculo el numero de valores
num_valores = mis_valores.length
num_valores2 = mis_valores2.length
//marco el número de valores en el select
document.f1.vinferior.length = num_valores
document.f1.vmaximo.length = num_valores2
//para cada valor del array, la introduzco en el select
for(i=0;i<num_valores;i++){
document.f1.vinferior.options[i].value=mis_valores[i]
document.f1.vinferior.options[i].text=mis_valores[i]
}
for(i=0;i<num_valores2;i++){
document.f1.vmaximo.options[i].value=mis_valores2[i]
document.f1.vmaximo.options[i].text=mis_valores2[i]
}
}else{
//si no había valor seleccionado, elimino los valores del select
document.f1.vinferior.length = 1
//coloco un guión en la única opción que he dejado
document.f1.vinferior.options[0].value = "-"
document.f1.vinferior.options[0].text = "-"
}
//marco como seleccionada la opción primera de valores
document.f1.vinferior.options[0].selected = true
}