Foros del Web » Programando para Internet » Javascript »

problemas con un select

Estas en el tema de problemas con un select en el foro de Javascript en Foros del Web. el problema es q tengo el siguiente select @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < select name = "actividad" id = "combo" onchange = "mostrarDiv(this.options[this.options.selectedIndex].value)" ...
  #1 (permalink)  
Antiguo 29/06/2011, 16:17
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 3 meses
Puntos: 0
problemas con un select

el problema es q tengo el siguiente select
Código HTML:
Ver original
  1. <select name="actividad" id="combo" onchange="mostrarDiv(this.options[this.options.selectedIndex].value)">
  2.                        
  3.                         <option value="0">--Lista de actividades--</option>
  4.                         <option value="1">Correo Electronico</option>
  5.                         <option value="2" selected="selected" >Llamada Telefonica</option>
  6.                         <option value="3">Agendar Cita</option>
  7.                     </select>

el cual me manda a llamar a la siguiente funcion

Código Javascript:
Ver original
  1. function mostrarDiv(valor){
  2.        
  3.         if (valor == 1){           
  4.                                 document.getElementById('correo').style.display = 'block';
  5.                                 document.getElementById('actividad').style.display = 'none';                               
  6.                                 document.getElementById('llamada').style.display = 'none';
  7.                                 document.getElementById('cita').style.display = 'none';
  8.                                 }
  9.         else if (valor == 2){
  10.                                 document.getElementById('llamada').style.display = 'block';
  11.                                 document.getElementById('actividad').style.display = 'none';
  12.                                 document.getElementById('correo').style.display = 'none';
  13.                                 document.getElementById('cita').style.display = 'none';}
  14.         else if (valor == 3){
  15.                                 document.getElementById('cita').style.display = 'block';
  16.                                 document.getElementById('actividad').style.display = 'none';
  17.                                 document.getElementById('correo').style.display = 'none';
  18.                                 document.getElementById('llamada').style.display = 'none';
  19.                                 }
  20.         else if (valor == 0){                  
  21.                                 document.getElementById('actividad').style.display = 'block';
  22.                                 document.getElementById('correo').style.display = 'none';
  23.                                 document.getElementById('llamada').style.display = 'none';
  24.                                 document.getElementById('cita').style.display = 'none';}
  25.                          
  26.                         }

lo unico q hago es mostrar y ocultar los div dentro de cada div se vuelve a mostrar el mismo combo en el cual se pone por default la opcion seleccionada pero solo se pone bien la 1er vez pero la segunda vez q le doy click para q me muestre el div en el select me sale la opcion del div anterior.

por ejemplo: si del combo selecciono correo se muestra el div de correo y en el select la opcion q se muestra por default tiene q ser correo eso lo hace bien solo la 1era vez pero una vez que ya recorri todas las opciones cuando me cambio otra vez a correo y por ejemplo estaba en llamada en lugar de mostrar correo en el select me sale llamada espero me haya dado a entender.

saludos y gracias.
  #2 (permalink)  
Antiguo 30/06/2011, 19:31
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años, 1 mes
Puntos: 37
Respuesta: problemas con un select

puedes enviar la opcion seleccionada a tu funcion y posteriormente a mostrar los divs seleccionarla

Código Javascript:
Ver original
  1. function mostrarDiv(valor, opcionSeleccionada){
  2.            
  3.             if (valor == 1){          
  4.                                     document.getElementById('correo').style.display = 'block';
  5.                                     document.getElementById('actividad').style.display = 'none';                              
  6.                                     document.getElementById('llamada').style.display = 'none';
  7.                                     document.getElementById('cita').style.display = 'none';
  8.                                     }
  9.             else if (valor == 2){
  10.                                     document.getElementById('llamada').style.display = 'block';
  11.                                     document.getElementById('actividad').style.display = 'none';
  12.                                     document.getElementById('correo').style.display = 'none';
  13.                                     document.getElementById('cita').style.display = 'none';}
  14.             else if (valor == 3){
  15.                                     document.getElementById('cita').style.display = 'block';
  16.                                     document.getElementById('actividad').style.display = 'none';
  17.                                     document.getElementById('correo').style.display = 'none';
  18.                                     document.getElementById('llamada').style.display = 'none';
  19.                                     }
  20.             else if (valor == 0){                  
  21.                                     document.getElementById('actividad').style.display = 'block';
  22.                                     document.getElementById('correo').style.display = 'none';
  23.                                     document.getElementById('llamada').style.display = 'none';
  24.                                     document.getElementById('cita').style.display = 'none';}
  25.                              
  26.                             }
  27.     document.getElementById("combo").selectedIndex=opcionSeleccionada;
  28. }
  29.  
  30.  
  31.  
  32. <select name="actividad" id="combo" onchange="mostrarDiv(this.options[this.options.selectedIndex].value,this.options.selectedIndex )">

Saludos.
__________________
Born to be free.
  #3 (permalink)  
Antiguo 01/07/2011, 14:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problemas con un select

muchas gracias por la ayuda, lamentablemente me sigue pasando lo mismo

sera q tengo q recargar la pagina o cambiar la forma en q muesto los divs?
  #4 (permalink)  
Antiguo 01/07/2011, 14:54
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: problemas con un select

Pon todo el HTML porque me parece que no estás poniendo todo lo necesario para entender el problema
  #5 (permalink)  
Antiguo 05/07/2011, 15:01
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problemas con un select

disculpen la tardanza a continuacion les dejo una abreviatura del codigo
Código HTML:
Ver original
  1. <div id="general">
  2.  
  3.     <div id="actividad" style="display:block">
  4.         <select name="actividad" id="combo" onchange="mostrarDiv(this.options[this.options.selectedIndex].value)">
  5.                             <option value="0" selected="selected">--Lista de actividades--</option>
  6.                             <option value="1">Correo Electronico</option>
  7.                             <option value="2">Llamada Telefonica</option>
  8.                             <option value="3">Agendar Cita</option>
  9.         </select>
  10.     </div>
  11.    
  12.     <div id="llamada" style="display:none">
  13.         <select name="actividad" id="combo" onchange="mostrarDiv(this.options[this.options.selectedIndex].value)">
  14.                             <option value="0">--Lista de actividades--</option>
  15.                             <option value="1">Correo Electronico</option>
  16.                             <option value="2" selected="selected">Llamada Telefonica</option>
  17.                             <option value="3">Agendar Cita</option>
  18.         </select>
  19.     </div>
  20.    
  21.     <div id="cita" style="display:none">
  22.         <select name="actividad" id="combo" onchange="mostrarDiv(this.options[this.options.selectedIndex].value)">
  23.                             <option value="0">--Lista de actividades--</option>
  24.                             <option value="1">Correo Electronico</option>
  25.                             <option value="2">Llamada Telefonica</option>
  26.                             <option value="3" selected="selected">Agendar Cita</option>
  27.        </select>
  28.     </div>
  29.    
  30.     <div id="correo" style="display:none">
  31.         <select name="actividad" id="combo" onchange="mostrarDiv(this.options[this.options.selectedIndex].value)">
  32.                             <option value="0">--Lista de actividades--</option>
  33.                             <option value="1" selected="selected">Correo Electronico</option>
  34.                             <option value="2">Llamada Telefonica</option>
  35.                             <option value="3">Agendar Cita</option>
  36.        </select>
  37.     </div>
  38.    
  39. </div>

basicamente esa es la idea q ir mostrando solo un div a la vez y q cuando se muestre el div siempre salga por defaul una opcion seleccionada si es el combo de correo q en el combo la opcion por defualt sea la de correo y de igual manera en los demas combos.

saludos
  #6 (permalink)  
Antiguo 06/07/2011, 13:35
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problemas con un select

buenas pues le pude dar selucion al problema q tenia de la siguiente forma
Código HTML:
Ver original
  1. <select name="actividad" id="combo" onchange="mostrarDiv(this.options[this.options.selectedIndex].value), this.options.selectedIndex = 0 ">

solo cambiando el valor por cada select dependiendo del valor que quiero q se muestre.

a lo mejor hay formas mas profecionales me gustaria saberlo, pero asi jalo de momento.

gracias

Etiquetas: select
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 11:47.