Foros del Web » Programando para Internet » Javascript »

Cambiar elemento seleccionado de un select con javascript

Estas en el tema de Cambiar elemento seleccionado de un select con javascript en el foro de Javascript en Foros del Web. Muy buenas, les cuento mi caso y el problema que tengo a ver si pueden echarme una mano. Intentaré explicarme lo mejor posible. El caso ...
  #1 (permalink)  
Antiguo 06/06/2018, 13:29
 
Fecha de Ingreso: febrero-2016
Mensajes: 9
Antigüedad: 8 años, 2 meses
Puntos: 0
Cambiar elemento seleccionado de un select con javascript

Muy buenas,

les cuento mi caso y el problema que tengo a ver si pueden echarme una mano. Intentaré explicarme lo mejor posible.

El caso es que tengo un grupo de selects, por defecto seleccionada la opcion cadena vacía en todos y programado con javascript que en el momento que se seleccione otro valor para cualquiera de ellos el resto se oculte (display: none). Lo hago así por que por la lógica del programa solo uno de ellos debería ser seleccionable a la vez y solo ese que no esté en blanco iría al único campo que hay creado para ellos en la base de datos.

Lo de ocultar el resto de campos me funciona bien, el problema viene por que necesito asegurarme que el resto de campos tienen marcada la opción cadena vacía en el momento que se seleccione un valor distinto en uno de ellos. Esto, a la hora de utilizar el formulario para hacer un alta en la base de datos no supone problemas, ya que si seleccionas uno tienes que volver a marcar cadena vacía para que se puedan mostrar los demás y elijas uno, pero el problema viene cuando lo que vas a hacer es un update, se cargan los datos de la base de datos con todos los selects visibles. Perfectamente podrias elegir un valor para otro select, el resto se ocultaría, incluyendo (aquí viene el problema) el otro select que tenía un valor seleccionado.

De modo que básicamente necesito que en una función javascript que llame desde el evento onchange de cada uno de los select, se cambie la opción elegida de todos los demás a la primera opción (la cadena vacía).

esto he intentado hacerlo de la siguiente manera:

document.getElementById('select1').selectedIndex=0 ;
document.getElementById('select2').selectedIndex=0 ;

y así con todos los select excepto con el que está correctamente seleccionado (que lo tengo identificado en la función).

Pero el caso es que esto no funciona, se mantiene seleccionada la opción que estuviese previamente ignorando el selectedIndex=0;

Supongo que no es así como debería hacerlo o que hay algún error en la lógica, si alguien puede guiarme un poco en el tema se lo agradecería.

Disculpad el tocho, he querido explicarme lo mejor posible.

Saludos y gracias de antemano por cualquier ayuda que puedan darme.
  #2 (permalink)  
Antiguo 06/06/2018, 14:02
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Cambiar elemento seleccionado de un select con javascript

Lo más fácil sería asignar un valor nulo o una cadena vacía a cada elemento (elemento.value = "";) ya que es el valor de los mismos el que se envía. También podrías usar un (01) campo oculto en el cual se almacenaría el valor elegido, de tal modo que, aunque todas las listas sean visibles, solo importará el valor almacenado en el campo oculto. También podrías descartar el uso de listas y usar radiobuttons, pero ya es cuestión tuya.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 06/06/2018, 14:07
 
Fecha de Ingreso: febrero-2016
Mensajes: 9
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Cambiar elemento seleccionado de un select con javascript

Buenas Alexis88, gracias por tu respuesta.

Entonces, me comentas que debería funcionar simplemente cambiar mi sentencia por:

document.getElementById('select1').value = "" ;
document.getElementById('select2').value = "" ;

Solo con esto ya debería asegurarme que se guarda la cadena vacía en la base de datos?
  #4 (permalink)  
Antiguo 06/06/2018, 14:17
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Cambiar elemento seleccionado de un select con javascript

Eso depende de cómo almacenes el valor o valores en cuestión. Si la idea es almacenar el valor (un valor) seleccionado, primero comprobarías que el dato recibido tenga una extensión de caracteres mayor a cero, entonces y solo en ese caso lo guardarías.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: elemento, funcion, java, seleccionado, select, valor
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 14:34.