JavaScript - Cambiar option de un select desde el evento de otro objeto

 
Vista:
sin imagen de perfil

Cambiar option de un select desde el evento de otro objeto

Publicado por Santi (2 intervenciones) el 09/08/2018 17:47:32
Hola,
Un cordial saludo, porque creo que es mi primera vez en este foro.
Soy un programador aficionado, y hace unos días que me he quedado atascado en mi proyecto actual, por una cosa que parece tonta, pero que no logro resolver, me explico.
Es la programación en javascript, en una web, todo siempre desde local.
Es una aplicación de cálculos acústicos.
Hago unos cálculos y pongo resultados en una tabla y en otros elementos.
Tengo un "select" con tres options y quiero escoger una option desde el programa en funcion del resultado de un càlculo.

Para cambiar la option he probado con javascript i tambien con jquery, y en principio funciona bien, con:

document.getElementById("zfin").value = '3';
(zfin es el id del select)

Así selecciona la opción que tiene 3 en el value.... todo bien.

Pero el problema viene cuando quiero hacer esto dentro de la función de un evento (el que dispara el cálculo) o desde una función llamada desde la función de un evento.
Por ejemplo:

1
2
3
4
document.getElementById("f1mkt").onchange = function() {
   alert(this.innerHTML);  //comprovación del evento, todo OK
  document.getElementById("zfin").value = '3';
}
En este caso no hace nada.
(zfin" és el id del select)

Tambien lo he probado con jquery sin ningún resultado.

Alguien podria darme una pista, por favor.

Muchas gracias y un cordial saludo.

Santi
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Cambiar option de un select desde el evento de otro objeto

Publicado por Santi (2 intervenciones) el 18/08/2018 15:08:22
Hola,
Gracias por tu respuesta.
Todavía sigo igual de atascado, ufffffff
Con lo que me has indicado, y con cualquier otra manera de las distintas con que se puede hacer esto, funciona correctamente, si pongo la instrucción en el script pero en la "raiz", cuando lo pongo en el evento click de un boton, por ejemplo, no hace nada, y estoy seguro que el click del boton se detecta.
Tambien he comprobado que en realidad el índice o el value si que cambian, pero la opción que se muestra en el select no cambia. Quiero decir que..... si tengo la primera opción en el select con value="1" , index=0 y texto "Primera opción", después de hacer click en el boton y ejecutar esto:

1
2
3
$("#boton").click(function () {
	document.getElementById("country").options.selectedIndex = 2;
});

Puedo ver en la consola o con un alert que tengo: value="2", index=2, pero que el texto no cambia, sigue siendo "primera opción".

Creo que es alguna cosa de mi página, porqué un código de prueba en otra página nueva funciona correctamente, pero si lo copio, todo igual, a mi pagina actual, ya presenta este problema.


A ver si alguien puede darme una pista, por favor.

Muchas gracias

Santi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar