Foros del Web » Programando para Internet » Javascript »

Ayuda en cambio de código

Estas en el tema de Ayuda en cambio de código en el foro de Javascript en Foros del Web. Hola a todos. En el siguiente código tengo un select y 3 checkbox. Inicialmente los 3 estarán desabilitados. LA idea es que si selecciono cada ...
  #1 (permalink)  
Antiguo 23/08/2005, 00:32
 
Fecha de Ingreso: octubre-2003
Mensajes: 280
Antigüedad: 20 años, 6 meses
Puntos: 1
Ayuda en cambio de código

Hola a todos. En el siguiente código tengo un select y 3 checkbox. Inicialmente los 3 estarán desabilitados. LA idea es que si selecciono cada una de las opciones del select, se habilite uno de los checkbox. Me baje un codigo de este foro, pero actua sobre el select entero con onChange, quiero que lo haga sobre cada una de las opciones (lo he probado con onClick, pero solo funciona en Mozilla)... como se haría para todos los navegadores?

Os mando el código a ver si podeis ayudarme:

<script language="javascript">

function limpiaSel(opc)
{
if (opc==1){ forma.chk1.disabled= this.selectedIndex=false; } //Habilita check1
if (opc==2){ forma.chk1.disabled= this.selectedIndex=true; } //Desabilita check1
if (opc==3){ forma.chk2.disabled= this.selectedIndex=false; }
if (opc==4){ forma.chk2.disabled= this.selectedIndex=true; }
if (opc==5){ forma.chk3.disabled= this.selectedIndex=false; }
if (opc==6){ forma.chk3.disabled= this.selectedIndex=true; }
}

</script>
...
<form name="forma">
<select name="sel1" onChange="limpiaSel(1);">
<option></option>
<option>opcion 1</option>
<option>opcion 2</option>
<option>opcion 3</option>
</select>

<input type="checkbox" name="chk1" disabled/>
<input type="checkbox" name="chk2" disabled/>
<input type="checkbox" name="chk3" disabled/>
</form>


(Con esto, al seleccionar cualquiera de los elementos del select, se habilita el primer check). Quiero que al seleccionar opcion 1, se habilite solo chk1, opcion2-->chk2 y opcion3 -->chk3.

Un saludo.
  #2 (permalink)  
Antiguo 23/08/2005, 07:43
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Sorry si el codigo te parece muy ofuscado, esta simplificado:

Código PHP:
<script>

function 
limpiaSel(opc) {
    for(var 
i=1i<=3i++)
        eval(
"forma.chk"+i+".disabled= "+( opc!=)+" ;");


</script>
...
<form name="forma">
<select name="sel1" onChange="limpiaSel( parseInt(this.options[this.options.selectedIndex].text.split('').reverse()[0]) );">
    <option></option>
    <option>opcion 1</option>
    <option>opcion 2</option>
    <option>opcion 3</option>
</select>

<input type="checkbox" name="chk1" disabled/>
<input type="checkbox" name="chk2" disabled/>
<input type="checkbox" name="chk3" disabled/>

</form> 
En Opera8.01, firefox1.06, y IE6.

PD: Utiliza el BBCode, la etiqueta PHP en vez de color rojo, que para eso se inventó.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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:48.