Foros del Web » Programando para Internet » Javascript »

Problemas con listas dependientes

Estas en el tema de Problemas con listas dependientes en el foro de Javascript en Foros del Web. hola, tengo un problema con mi listas dependientes, estoy tratando de hacer un registro de fecha de nacimiento, que cuando se elija un mes de ...
  #1 (permalink)  
Antiguo 19/02/2011, 00:38
 
Fecha de Ingreso: enero-2009
Mensajes: 53
Antigüedad: 15 años, 3 meses
Puntos: 1
Problemas con listas dependientes

hola, tengo un problema con mi listas dependientes, estoy tratando de hacer un registro de fecha de nacimiento, que cuando se elija un mes de 30 dias la lista de dias sea hasta 30 y el de 31 hasta 31, eso pude solucionar, pero tambien quiero que cuando se cambie el mes el dia sigua estando en el lugar donde se quedo.

ejem:

dia:15 mes: enero y luego cambio el mes a febrero el dia siga siendo 15.
trate de hacerle un index1=document.forms.formularioREG.dias.selectedI ndex;
pero su valor siempre es -1.

Código HTML:
Ver original
  1. <select name="dias">
  2.                     <option value="inicio" selected>dia</option>
  3.                     <option value="">--</option>
  4.                     <?php
  5.                     for($i=0;$i<=30;$i++){
  6.                     ?>
  7.                     <option value="<?php echo $i+1 ?>"> <?php echo $i+1 ?> </option>
  8.                     <?php }?>
  9.                     </select>
  10.                     <select name="meses" OnChange="cambiarMes()">
  11.                     <option value="inicio" selected>Mes</option>
  12.                     <option value="">-----</option>
  13.                     <option value="Enero">Enero</option>
  14.                     <option value="Febrero">Febrero</option>
  15.                     <option value="Marzo">Marzo</option>
  16.                     <option value="Abril">Abril</option>
  17.                     <option value="Mayo">Mayo</option>
  18.                     <option value="Junio">Junio</option>
  19.                     <option value="Julio">Julio</option>
  20.                     <option value="Agosto">Agosto</option>
  21.                     <option value="Setiembre">Setiembre</option>
  22.                     <option value="Octubre">Octubre</option>
  23.                     <option value="Noviembre">Noviembre</option>
  24.                     <option value="Diciembre">Diciembre</option>
  25.                     </select>
Código Javascript:
Ver original
  1. <script language="JavaScript">
  2.  
  3.  
  4.  
  5. // En funcion del mes
  6. function cambiarMes()
  7. {
  8. var index=document.forms.formularioREG.meses.selectedIndex;
  9. var index1=document.forms.formularioREG.dias.selectedIndex;
  10.  
  11.  
  12. formularioREG.dias.length=0;
  13. if(index==0 || index==1) defaultDias();
  14. if(index==2 || index==4 || index==6 || index==8 || index==9 || index==11 || index==13) dias31();
  15.  
  16. if(index==3) dias28();
  17. if(index==5 || index==7 || index==10 || index==12) dias30();
  18.  
  19. }
  20.  
  21. function defaultDias(){
  22.  
  23. }
  24.  
  25. function dias31(){
  26.     opcion0=new Option("dia","dia","defauldSelected");
  27.     opcion1=new Option("---","");
  28.     document.forms.formularioREG.dias.options[0]=opcion0;
  29.     document.forms.formularioREG.dias.options[1]=opcion1;
  30.     for(i=2;i<33;i++){
  31.         document.forms.formularioREG.dias.options[i]= new Option(i-1,i-1);
  32.     }
  33. }
  34.  
  35. function dias28(){
  36.     opcion0=new Option("dia","dia","defauldSelected");
  37.     opcion1=new Option("---","");
  38.     document.forms.formularioREG.dias.options[0]=opcion0;
  39.     document.forms.formularioREG.dias.options[1]=opcion1;
  40.     for(i=2;i<30;i++){
  41.         document.forms.formularioREG.dias.options[i]= new Option(i-1,i-1);
  42.     }
  43. }
  44. function dias30(){
  45.     opcion0=new Option("dia","dia","defauldSelected");
  46.     opcion1=new Option("---","");
  47.     document.forms.formularioREG.dias.options[0]=opcion0;
  48.     document.forms.formularioREG.dias.options[1]=opcion1;
  49.     for(i=2;i<32;i++){
  50.         document.forms.formularioREG.dias.options[i]= new Option(i-1,i-1);
  51.     }
  52. }
  53. </script>
  #2 (permalink)  
Antiguo 19/02/2011, 02:56
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Problemas con listas dependientes

buenas...

opino que te complicas demasiado. quiero decir, si solo removieras los options no deseados, no tuvieras que preocuparte sobre el elemento seleccionado. en tu caso, pierde la seleccion porque estas creando todos los options. de todos modos, si deseas continuar con ese codigo, tienes que obtener primero el option seleccionado el cual lo haces en la funcion cambiarMes. sin embargo, es en las funciones dias28, dias30 y dias31 que necesitas ese valor pero no puedes utilizarlo porque la variable es local a la funcion cambiarMes. ¿que debes hacer? pasa esa variable como argumento a las funciones antes mencionada. en las funciones, luego de crear los options, asigna ese valor a la propiedad selectedIndex.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 19/02/2011, 19:34
 
Fecha de Ingreso: enero-2009
Mensajes: 53
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Problemas con listas dependientes

gracias por responder pero el index que sale ahi solo es para seleccionar el mes no necesito usarlo luego, pero por eso cree un nuevo index1 con el selecIndex de la lista de dias para que lo almacene y al crear los option cree como preseleccionada el valor del nuevo index1 asi para que cuando se cambie de mes se retenga el valor del dia, pero al hacer el nuevo index1 siempre sale el valor de -1 porq la llamada a funcion cambiarmes() solo se hace con la lista de mes y no de dia ... por eso como puedo hacer para retener el valor de un llamado
  #4 (permalink)  
Antiguo 19/02/2011, 19:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Problemas con listas dependientes

¿terminastes de leer lo que te comentaba? pasa la variable index1 a las funciones que genera los dias, y luego de crear los dias utiliza esa variable para indicar cual es la fecha seleccionada.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: dependientes, listas
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 23:25.