Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2010, 20:36
marcos46g
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 4 meses
Puntos: 0
tres combos combinados

Hola Aca estoy de nuevo pidiendo un poco de ayuda.
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