Foros del Web » Programando para Internet » Javascript »

como puedo modificar este combo?

Estas en el tema de como puedo modificar este combo? en el foro de Javascript en Foros del Web. Necesito modificar un ejemplo como este para que dependiendo del valor del primer select, el 2º sea otro select o bien un input text . ...
  #1 (permalink)  
Antiguo 15/11/2005, 03:44
Avatar de eggman  
Fecha de Ingreso: octubre-2005
Mensajes: 17
Antigüedad: 18 años, 6 meses
Puntos: 0
Pregunta como puedo modificar este combo?

Necesito modificar un ejemplo como este para que dependiendo del valor del primer select, el 2º sea otro select o bien un input text.

Muchas gracias por anticipado.


Cita:
Iniciado por Kaopectate
P: ¿Como puedo hacer para que al cambiar la opción seleccionada en un combo, cambien también las opciones disponibles en otro combo?

R: [ver ejemplo]

Código PHP:
<html>
 <
head>
  <
title>
   
FAQ-1Selects
  
</title>
  <
script language="JavaScript">

   function 
addOpt(oCntrliPossTxtsVal){
     var 
selOpcion=new Option(sTxtsVal);
     eval(
oCntrl.options[iPos]=selOpcion);
   }

   function 
cambia(oCntrl){
    while (
oCntrl.lengthoCntrl.remove(0);
    switch (
document.frm.pais.selectedIndex){
     case 
0
      
addOpt(oCntrl,  0"Ciudad de México""0");
      
addOpt(oCntrl,  1"Monterrey""1");
      
addOpt(oCntrl,  2"Guadalajara""2");
      break;
     case 
1
      
addOpt(oCntrl,  0"Madrid""0");
      
addOpt(oCntrl,  1"Barcelona""1");
      
addOpt(oCntrl,  2"San Sebastián""2");
      break;
     case 
2
      
addOpt(oCntrl,  0"Caracas""0");
      
addOpt(oCntrl,  1"Coro""1");
      
addOpt(oCntrl,  2"Maracay""2");
      
addOpt(oCntrl,  3"Valencia""3");
      break;
    }
   }
  
</script>
 </head>
 <body>
  <script language="JavaScript">
   var w = 400;
   var h = 150;
   resizeTo(w, h);
   moveTo((screen.width - w)/ 2, (screen.height - h)/ 2);
  </script>
  <form name="frm">
   <table border="0">
    <tr>
     <td>
      Pais
     </td>
     <td>
      <select name="pais" onchange="cambia(document.frm.ciudad)">
       <option value="Mex">Mexico</option>
       <option value="Esp">España</option>
       <option value="Ven">Venezuela</option>
      </select>
     </td>
     <td>
      &nbsp;
     </td>
     <td>
      Ciudad
     </td>
     <td>
      <select name="ciudad">
       <option value="0">Ciudad de México</option>
       <option value="1">Monterrey</option>
       <option value="2">Guadalajara</option>
      </select>
     </td>
    </tr>
   </table>
  </form>
 </body>
</html> 
  #2 (permalink)  
Antiguo 15/11/2005, 07:17
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
primero: cuales son los datos que quieres cargar en uno y en el otro?
segundo: vas a usar base de datos?
tercero: si la respuesta del segundo es SI entonces te recomiendo que pases por el foro de AJAX y si NO entonces quedate aqui
cuarto: espero tu respuesta.

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #3 (permalink)  
Antiguo 16/11/2005, 01:13
Avatar de eggman  
Fecha de Ingreso: octubre-2005
Mensajes: 17
Antigüedad: 18 años, 6 meses
Puntos: 0
Lo que tengo son 2 select (PAIS y PROVINCIA) habiendo modificado el JSRS Select (es decir, uso base de datos).

Todo me funciona perfectamente, pero mi problema radica en que necesito añadir un condicional que en el caso de que el elegido en el 1er select no sea ESPAÑA, el 2º select desaparezca y se convierta en un campo de texto.

La función que creo que debería modificar es la siguiente, pero no sé como (he intentado cosas pero sin éxito):

function lstMake_onChange(){
var val = this.options[this.selectedIndex].value;
IDMake = val;
IDModel = noValue;
if(val == noValue){
selectOption( this.name, curOption[this.name] )
} else {
curOption[this.name] = val;
// init dependent lists
emptyList( 'lstModel' );
window.status = 'Loading Model Selections...';
jsrsExecute( 'select_rs.php', cbFillModel, 'modelList', val);
}
}


Realmente es un problema de Javascript, no del JSRS - AJAX (creo yo). Muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:30.