Foros del Web » Programando para Internet » Javascript »

No refresca el estilo en un combo

Estas en el tema de No refresca el estilo en un combo en el foro de Javascript en Foros del Web. Hola a todos: He creado una funcion que le aplica una clase determinada a las opciones de un select. He comprobado que la clase se ...
  #1 (permalink)  
Antiguo 29/04/2008, 00:56
 
Fecha de Ingreso: febrero-2005
Mensajes: 14
Antigüedad: 19 años, 9 meses
Puntos: 0
No refresca el estilo en un combo

Hola a todos:

He creado una funcion que le aplica una clase determinada a las opciones de un select. He comprobado que la clase se va cambiando bien... y en el momento de desplegar el combo veo que todo va bien. Ahora es cuando viene el problema, si cambio de nuevo la clase veo como la opcion seleccionada cambia efectivamente de clase pero si vuelvo a desplegar las opciones salen como la primera vez que desplegue, como si se hubiera quedado cogida ese estilo a la primera vez que se despliega y ya no vuelve a cambiar.

Aqui teneis un ejemplo de lo que pasa, lo podeis probar rapido, es el codigo html completo:

Código:
<html>
<head>

<script language="javascript">
function rellena_combo(color) {
    for(i=0;i<4;i++){ 
		document.formulario.menu.options[i].className=color;
    }
}
</script>

<style type="text/css">
<!--
.rojo {
	color: #FF0000;
}
.verde {
	color: #006600;
}
-->
</style>

</head>

<body>
<p><a href="javascript:rellena_combo('rojo')">rojo</a></p>
<p><a href="javascript:rellena_combo('verde')">verde</a></p>
<form id="formulario" name="formulario" method="post" action="">
    <select name="menu">
      <option value="uno" class="rojo">uno</option>
      <option value="dos" class="rojo">dos</option>
      <option value="tres" class="rojo">tres</option>
      <option value="cuatro" class="rojo">cuatro</option>
    </select>
</form>
</body>
</html>
Inicialmente el combo es rojo, si desplegais y despues pulsais 'verde' vereis que la opcion seleccionada esta a verde pero si despliegas veras que todas estan a rojo.

Si al cargar la pagina pulsas 'verde' y luego despliegas veras que todo esta verde, si pulsas 'rojo' aparece el efecto contrario a lo que he explicado.

Puede ser un error del navegador?

Hay alguna solucion a esto?

Gracias
  #2 (permalink)  
Antiguo 29/04/2008, 04:02
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Re: No refresca el estilo en un combo

A mi en IE 6 me funciona perfectamente incluso asi

Código HTML:
<html>
<head>

<script language="javascript">
function rellena_combo(color) {
    for(i=0;i<4;i++){ 
		document.formulario.menu.options[i].className=color;
    }
}
</script>

<style type="text/css">
<!--
.rojo {
	color: #FF0000;
}
.verde {
	color: #006600;
}
-->
</style>

</head>

<body>
<p><a href="javascript:rellena_combo('rojo')">rojo</a></p>
<p><a href="javascript:rellena_combo('verde')">verde</a></p>
<form id="formulario" name="formulario" method="post" action="">
    <select name="menu"  class="rojo">
      <option value="uno">uno</option>
      <option value="dos">dos</option>
      <option value="tres">tres</option>
      <option value="cuatro">cuatro</option>
    </select>
</form>
</body>
</html> 
En que navegador te falla?

Quim
  #3 (permalink)  
Antiguo 29/04/2008, 05:51
 
Fecha de Ingreso: febrero-2005
Mensajes: 14
Antigüedad: 19 años, 9 meses
Puntos: 0
Re: No refresca el estilo en un combo

Hola quimfv:

Uso el IE7 y nada... en firefox parece que si funciona +-, asi que me huelo a que se trata de un error del IE7

Última edición por baltasarb; 30/04/2008 a las 04:36
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 18:42.