Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/07/2015, 08:59
arnaurapid
 
Fecha de Ingreso: julio-2015
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Pregunta OnChange no me funciona después de deshabilitar el Select

Hola, tengo un programa con 2 selects. El primero está activo y el segundo desactivado. Cuando escoges un elemento del primero se desactiva el segundo. Hasta aquí todo bien, la cosa es que yo quiero que cuando cambie algo en el segundo, se habra una página web nueva. Sin embargo, al darle la propiedad de disable al principio, aunque cambie el segundo select a enable más tarde no me funciona el cambio a otra web. Esto solo me pasa si tengo el .disabled asignado a la variable "var urlmenu2" . Alguien sabe como puedo solucionarlo?

Aquí os dejo el codigo HTML:

<select id="menu1" >

<option value="0" selected="selected" id="selected"> Select an option </option>
<optgroup label="Category1:">
<option value="1"> Option1 </option>
<option value="2"> Option2 </option>
<option value="3"> Option3 </option>
<option value="4"> Option4 </option>
</optgroup>

<optgroup label="Category2:">
<option value="5"> Option5 </option>
<option value="6"> Option6 </option>
<option value="7"> Option7 </option>
<option value="8"> Option8 </option>
<option value="9"> Option9 </option>
<option value="10"> Option10 </option>
<option value="11"> Option11 </option>
<option value="12"> Option12 </option>
<option value="13"> Option13 </option>
<option value="14"> Option14 </option>

<optgroup label="Category3:">
<option value="15"> Option15 </option>
</optgroup>

</select>

<select id="menu2">
<option value="0" selected="selected" id="selected2"> Select an option </option>
<option value="1" id="center">Home</option>
<option value="2" id="home">In the Center</option>
</select>

aqui os dejo el codigo Javascript:

var urlmenu1 = document.getElementById('menu1');
var urlmenu2 = document.getElementById('menu2').disabled=true;

urlmenu1.onchange = function change1(){

if(urlmenu1.selectedIndex != 0){
var urlmenu2 = document.getElementById('menu2').disabled=false;
var selected = document.getElementById('selected').disabled=true;
}

if(urlmenu1.selectedIndex >= 1 && urlmenu1.selectedIndex <= 4) {
var opcion = document.getElementById('casa').disabled=false;
var seleccionado2 = document.getElementById('selected2').disabled=true ;
}

if(urlmenu1.selectedIndex >= 6 && urlmenu1.selectedIndex <= 15){
var opcion = document.getElementById('home').disabled=true;
var selected2 = document.getElementById('selected2').disabled=true ;
}

};

urlmenu2.onchange = function cahnge2(){

if(urlmenu1.selectedIndex == 1 && urlmenu2.selectedIndex==1){
window.open("http://www.google.com",'_self');
urlmenu1.selectedIndex = 0;
urlmenu2.selectedIndex = 0;
}
if(urlmenu1.selectedIndex == 2 && urlmenu2.selectedIndex==1){
window.open("http://www.yahoo.com",'_self');
urlmenu1.selectedIndex = 0;
urlmenu2.selectedIndex = 0;
}

etc... hasta el 15

Gracias!