Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/03/2009, 14:32
Avatar de jeybi
jeybi
 
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Cambiar combo por un texbox segun otro combo

Usa un codigo como este:

Código javascript:
Ver original
  1. window.onload = function(){
  2.     document.getElementById('pais').onchange = combo;   //Al cargar, asigamos un event handler para onchange al combo con id 'pais'
  3. }
  4.  
  5. function combo(){
  6.     if(this.options[this.selectedIndex].value != 'Chile'){ //Si no hemos seleccionado chile...
  7.         if(!this.form.ciudadPersonzalizada){ //Y si ademas no existe el elemento 'ciudadPersonzalida'...
  8.             this.form.ciudades.disabled = 'disabled';                //Desabilitamos el select ciudades
  9.             this.form.ciudades.style.display = 'none';                //Lo ocultamos
  10.             var textinput = document.createElement('input');        //Creamos un nuevo input
  11.             textinput.type = 'text';                                //que sea de tipo texyt
  12.             textinput.id = 'ciudadPersonzalizada';                    //Le ponemos un id 'ciudadPersonzalida'
  13.             textinput.name = 'ciudadPersonzalizada';                //Le ponemos un nombre 'ciudadPersonzalida'
  14.             this.form.insertBefore(textinput,this.form.ciudades);   //Lo insertamos en el documento, justamente antes de el select ciudades oculto
  15.         }
  16.            
  17.     }
  18.     else if(this.form.ciudadPersonzalizada){    //Si selecionamos chile, y EXISTE el input con nombre 'ciudadPersonzalida'..
  19.         this.form.removeChild(this.form.ciudadPersonzalizada);    //Lo quitamos..
  20.         this.form.ciudades.removeAttribute('disabled');        //Habilitamos el select ciudades
  21.         this.form.ciudades.style.display = 'inline';            //Lo hacemos visible
  22.        
  23.     }
}

Ya tu le cambias el name y agregas texto para especificar cuiando debes seleccionar y cuando debes tipear tu ciudad.

El HTML:

Código html:
Ver original
  1. <form method="post" action="x" name="x">
  2. <select id="pais" name="pais">
  3. <option value="Chile" selected="selected">Chile</option>
  4. <option value="Mexico" >Mexico</option>
  5.  
  6. <select name="ciudades" id="ciudades">
  7. <option value="" selected="selected">Selecciona...</option>
  8. <option value="Santiago">Santiago</option>
  9.  
  10. </form>