Hola!! amigos tengo una gran duda. Tengo dos select asociados con javascript y al elegir una de las opciones de CENTRO me desplega mis UNIDAD pero al momento de seleccionar una opcion de un centro que tenga 5unidades las muestra pero al querer elegir un centro que tiene solo 3 unidades me arroja las 3 mas 2 del select anterior. Ejemplo:
centro unidad
sucre: carupano-araya.cumanacoa-guiria-cariaco
portugueza: guanare-biscucuy-turen-guiria-cariaco
Donde guiria-cariaco no corresponde a portuguesa, es decir, lo van adicionando imagino que es una funcion para remover o limpiar la ultima seleccion y no se hacerlo. Por favor, ayudaaaa!!!! aqui anexo el codigo:
-------------------------------------------------------------------------------------------------
<html>
<head>
<script language="JavaScript">
function addOpt(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}
function cambia(oCntrl){
switch (document.frm.centro.selectedIndex){
case 0:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "Seleccione");
break;
case 1:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "00100 - Sede");
addOpt(oCntrl, 1, "00101 - Caucagua");
addOpt(oCntrl, 2, "00102 - Santa Lucia");
addOpt(oCntrl, 3, "00103 - Vargas");
addOpt(oCntrl, 4, "00104 - San Antonio");
break;
case 2:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "00200 - Sede");
addOpt(oCntrl, 1, "00201 - El Tigre");
addOpt(oCntrl, 2, "00203 - Anaco");
break;
case 3:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "00300 - Sede");
addOpt(oCntrl, 1, "00301 - Guadalito");
addOpt(oCntrl, 2, "00303 - Elorza");
break;
case 4:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "00400 - Sede");
break;
case 5:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "00500 - Sede");
break;
case 6:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "00600 - Sede");
addOpt(oCntrl, 1, "00602 - Guasipati");
break;
case 7:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "00700 - Sede");
addOpt(oCntrl, 1, "00701 - Puerto Cabello");
break;
case 8:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "00800 - Sede");
break;
case 9:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "00900 - Sede");
addOpt(oCntrl, 1, "00901 - Pto. Fijo");
addOpt(oCntrl, 2, "00902 - Churuguara");
addOpt(oCntrl, 3, "00903 - Capataria");
addOpt(oCntrl, 4, "00904 - Caucagua");
break;
case 10:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "01000 - Sede");
addOpt(oCntrl, 1, "01001 - Valle la Pascua");
addOpt(oCntrl, 2, "01002 - Altagracia de Orituco");
addOpt(oCntrl, 3, "01004 - Zaraza");
addOpt(oCntrl, 4, "01006 - Las Mercedes Del Llano");
break;
case 11:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "01100 - Sede");
addOpt(oCntrl, 1, "01101 - Carora");
addOpt(oCntrl, 2, "01102 - El Tocuyo");
break;
case 12:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "01200 - Sede");
addOpt(oCntrl, 1, "01201 - Tovar");
addOpt(oCntrl, 2, "01202 - Timotes");
addOpt(oCntrl, 3, "01203 - Canagua");
addOpt(oCntrl, 4, "01204 - Nueva Bolivar");
break;
case 13:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "01400 - Sede");
addOpt(oCntrl, 1, "01401 - Punta de Mata");
addOpt(oCntrl, 2, "01402 - Caripe");
addOpt(oCntrl, 3, "01403 - Temblador");
addOpt(oCntrl, 4, "01404 - Caripito");
break;
case 14:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "01500 - Sede");
break;
case 15:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "01600 - Sede");
addOpt(oCntrl, 1, "01601 - Guanare");
addOpt(oCntrl, 2, "01602 - Biscucuy");
addOpt(oCntrl, 3, "01603 - Turen");
break;
case 16:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "01700 - Sede");
addOpt(oCntrl, 1, "01701 - Carupano");
addOpt(oCntrl, 2, "01702 - Araya");
addOpt(oCntrl, 3, "01703 - Cumanacoa");
addOpt(oCntrl, 4, "01704- Guiria");
addOpt(oCntrl, 5, "01705 - Cariaco");
break;
case 17:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "01800 - Sede");
break;
case 18:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "01900 - Sede");
addOpt(oCntrl, 1, "01901 - Bocono");
break;
case 19:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "02000 - Sede");
break;
case 20:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "02100 - Sede");
addOpt(oCntrl, 1, "02101 - San Barbara");
break;
case 21:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "02200 - Sede");
break;
case 22:
document.frm.unidad.value="";
addOpt(oCntrl, 0, "02300 - Sede");
break;
}
}
</script>
</head>
<body>
<form name="frm">
<table border="0" width="482">
<tr>
<td width="25"> Centro </td>
<td width="89">
<select name="centro" id="centro" onchange="cambia(document.frm.unidad)">
<option value="Seleccione">Seleccione</option>
<option value="Metropolitano">00100 - Metropolitano</option>
<option value="Anzoátegui">00200 - Anzoátegui</option>
<option value="Apure">00300 - Apure</option>
<option value="Aragua">00400 - Aragua</option>
<option value="Barinas">00500 - Barinas</option>
<option value="Bolívar">00600 - Bolívar</option>
<option value="Carabobo">00700 - Carabobo</option>
<option value="Cojedes">00800 - Cojedes</option>
<option value="Falcón">00900 - Falcón</option>
<option value=" Guarico">01000 - Guarico</option>
<option value="Lara">01100 - Lara</option>
<option value="Mérida">01200 - Mérida</option>
<option value="Monagas">01400 - Monagas</option>
<option value="Nueva Esparta">01500 - Nueva Esparta</option>
<option value="Portuguesa">01600 - Portuguesa</option>
<option value="Sucre">01700 - Sucre</option>
<option value="Táchira">01800 - Táchira</option>
<option value="Trujillo">01900 - Trujillo</option>
<option value="Yaracuy">02000 - Yaracuy</option>
<option value="Zulia">02100 - Zulia</option>
<option value="Delta Amacuro">02200 - Delta Amacuro</option>
<option value="Amazonas">02300 - Amazonas</option>
</select>
</td>
<td width="6">
</td>
<td width="44"> Unidad</td>
<td width="296">
<select name="unidad" id="unidad" onChange="location.href=this.form.unidad.options[this.form.unidad.selectedIndex].value">
</select>
</td>
</tr>
</table>
</form>
</body>
</html>