Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2018, 13:29
olimpico10
 
Fecha de Ingreso: febrero-2016
Mensajes: 9
Antigüedad: 9 años
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.