Foros del Web » Programando para Internet » Javascript »

problema cons lista dependiente de otra

Estas en el tema de problema cons lista dependiente de otra en el foro de Javascript en Foros del Web. hola amigos tengo este problema <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.pais.selectedIndex){ case ...
  #1 (permalink)  
Antiguo 24/02/2006, 14:10
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
problema cons lista dependiente de otra

hola amigos tengo este problema

<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.pais.selectedIndex){
case 1:
addOpt(oCntrl, 0, "Abrecartas", "1");
addOpt(oCntrl, 1, "Broche", "2");
addOpt(oCntrl, 2, "Desengrapador", "3");
addOpt(oCntrl, 3, "Engrapadora", "4");
addOpt(oCntrl, 4, "Boligrafo fino azul", "5");
addOpt(oCntrl, 5, "Boligrafo fino rojo", "6");
addOpt(oCntrl, 6, "Boligrafo fino negro", "7");
addOpt(oCntrl, 7, "Toner tinta negra 5158 hp laser jet", "8");
break;
case 2:
addOpt(oCntrl, 0, "Extintor", "10");
break;
case 3:
addOpt(oCntrl, 0, "Limpia vidrios", "11");
addOpt(oCntrl, 1, "Contenedor para basura", "12");
addOpt(oCntrl, 2, "Plumeros", "13");
break;
}
}
</script>
</head>
<body>
<form name="frm">
<table border="0" width="482">
<tr>
<td width="25">
Pais
</td>
<td width="89">
<select name="pais[]" id="pais" onchange="cambia(document.frm.ciudad)">
<option value=""></option>
<option value="2">Artículos de Oficina</option>
<option value="3">Artículos de Seguridad</option>
<option value="4">Artículos de Limpieza</option>
</select>
</td>
<td width="6">
&nbsp;
</td>
<td width="44">
Ciudad
</td>
<td width="296">
<select name="ciudad[]" id="ciudad" >
<option value=""></option>

</select> <input type="button" value="Ir a..." onClick="location.href=this.form.ciudad.options[this.form.ciudad.selectedIndex].value"></td>
</tr>
</table>
</form>
</body>
</html>

cuando selecciono una opcion del primer select se agrega sus opciones correspondientes pero el problema es que si antes habia seleccionado otro esos otras opciones seguen estando ahi que puedo hacer para que se limpie todo el segudo select y solo aparescan los que deben ir

saludos amigos
espero sus comentarios
__________________
gerardo
  #2 (permalink)  
Antiguo 24/02/2006, 15:56
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Hola. Las opciones de un select se almacenan en un array, entonces si igualas la longitud de la propiedad "options" de ese array a cero, estas eliminando su contenido:

Código:
tuSelect=document.getElementById("nombre_de_tu_select");
tuSelect.options.length=0;
Saludos.

PD: modifiqué un error que tenia en el anterior POST, por eso lo había borrado.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 24/02/2006, 15:59
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
una duda men

dond exactamentemente puedo poner esas dos lineas que mencionas
disculpa mi ignorancia

Cita:
Iniciado por zaqpz
Hola. Las opciones de un select se almacenan en un array, entonces si igualas la longitud de la propiedad "options" de ese array a cero, estas eliminando su contenido:

Código:
tuSelect=document.getElementById("nombre_de_tu_select");
tuSelect.options.length=0;
Saludos.

PD: modifiqué un error que tenia en el anterior POST, por eso lo había borrado.
__________________
gerardo
  #4 (permalink)  
Antiguo 24/02/2006, 16:05
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa lo he puesto antes switch jeje

tuSelect=document.getElementById("lista_articulos" );
tuSelect.length=0;
switch (document.forms.formulario.lista_categoria.selecte dIndex)


PD:gRACIAS por la ayuda zaqpz
saludos y gracias

Cita:
Iniciado por chalchis
dond exactamentemente puedo poner esas dos lineas que mencionas
disculpa mi ignorancia
__________________
gerardo
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 20:55.