Foros del Web » Programando para Internet » Javascript »

Ayuda con listas dependientes

Estas en el tema de Ayuda con listas dependientes en el foro de Javascript en Foros del Web. Hola a todos: Tengo el siguiente código de listas dependientes generado por PHP: /************************************************ Listas dependientes por Tunait!(5/1/04) Si quieres usar este script en tu ...
  #1 (permalink)  
Antiguo 27/11/2005, 02:22
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Ayuda con listas dependientes

Hola a todos:

Tengo el siguiente código de listas dependientes generado por PHP:



/************************************************
Listas dependientes por Tunait!(5/1/04)
Si quieres usar este script en tu sitio
eres libre de hacerlo con la condición
de que permanezcan intactas estas líneas,
osea, los créditos.
No autorizo a publicar y ofrecer el código
en sitios de script sin previa autorización
Si quieres publicarlo, por favor, contacta conmigo.
http://javascript.tunait.com/
[email protected]
*************************************************/
<script language="JavaScript">
function slctr(texto,valor){
this.texto = texto
this.valor = valor
}

var usuarios=new Array()
usuarios[0] = new slctr("- Seleccione Destino -")
usuarios[1] = new slctr("Todos",null)
usuarios[2] = new slctr("Provincia",'provincia')


var emailsok=new Array()
emailsok[0] = new slctr("- Selecciones destino -")
emailsok[1] = new slctr("Todos",null)
emailsok[2] = new slctr("Sector",'sector')
emailsok[3] = new slctr("Provincias",'provincias')



var provincia=new Array()
provincia[0] = new slctr("- Seleccione provincia- ")
provincia[1] = new slctr("- Asturias-", 'Asturias')
provincia[2] = new slctr("- Cantabria-", 'Cantabria')


var provincias = new Array()
provincias[0] = new slctr("- Seleccione provincia- ")
provincias[1] = new slctr("- -", '')
provincias[2] = new slctr("- A CORUÑA-", 'A CORUÑA')
provincias[3] = new slctr("- ALAVA-", 'ALAVA')
provincias[4] = new slctr("- ALBACETE-", 'ALBACETE')
provincias[5] = new slctr("- ALICANTE-", 'ALICANTE')
provincias[6] = new slctr("- ALMERIA-", 'ALMERIA')
provincias[7] = new slctr("- ASTURIAS-", 'ASTURIAS')

var sector = new Array()
sector[0] = new slctr('- Sectores -')
sector[1] = new slctr("- HOSTELERIA, RESTAURACION, TURISMO Y VIAJES.-", 'HOSTELERIA, RESTAURACION, TURISMO Y VIAJES.')
sector[2] = new slctr("- ARTES GRAFICAS, EDICION Y MEDIOS DE COMUNICACION.-", 'ARTES GRAFICAS, EDICION Y MEDIOS DE COMUNICACION.')
sector[3] = new slctr("- CONSTRUCCIONES MECANICAS, MAQUIN., METAL Y HERRAMIENTAS.-", 'CONSTRUCCIONES MECANICAS, MAQUIN., METAL Y HERRAMIENTAS.')
sector[4] = new slctr("- INFORMATICA, ORDENADORES Y MATERIAL DE OFICINAS.-", 'INFORMATICA, ORDENADORES Y MATERIAL DE OFICINAS.')

function slctryole(cual, donde) {
if(cual.selectedIndex != 0){
donde.length=0
cual = eval(cual.value)
for(m=0;m<cual.length;m++){
var nuevaOpcion = new Option(cual[m].texto);
donde.options[m] = nuevaOpcion;
if(cual[m].valor != null){
donde.options[m].value = cual[m].valor
}
else{
donde.options[m].value = cual[m].texto
}
}
}
}
</script>


Cuando selecciono una de bas bases de datos, que despues llama al siguente select y en este último selecciono "Todos" me aparece un error de javascript que me indica que Todos no está definido.
Solamente me pasa con IE, Firefox y Opera tragan sin problemas.

Ayuda please

Última edición por Operadormail; 27/11/2005 a las 08:24
  #2 (permalink)  
Antiguo 27/11/2005, 03:23
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Qué tal Operadormail,

¿podrías, por favor, reponer los créditos originales al script?

Gracias
  #3 (permalink)  
Antiguo 27/11/2005, 03:42
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Disculpa Tunait, al Cesar lo que es del Cesar.


/************************************************
Listas dependientes por Tunait!(5/1/04)
Si quieres usar este script en tu sitio
eres libre de hacerlo con la condición
de que permanezcan intactas estas líneas,
osea, los créditos.
No autorizo a publicar y ofrecer el código
en sitios de script sin previa autorización
Si quieres publicarlo, por favor, contacta conmigo.
http://javascript.tunait.com/
[email protected]
*************************************************/

Disculpa de nuevo.
  #4 (permalink)  
Antiguo 27/11/2005, 04:06
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Disculpado, eso sí, las líneas deben ir con el script (justo antes de la primera línea del script). Si alguien llega a este post desde google y copia el script lo hará sin los créditos y es el requisito para que se pueda usar libremente.

Respecto al error que mencionas te está diciendo que no encuentra el objeto porque no le asignas el nombre del array a buscar.

Tienes todos así

new slctr("Todos",null)

Irá a buscar null y no lo encuentra. En lugar de null debes poner el nombre del array que quieras que cargue.

Un saludo
  #5 (permalink)  
Antiguo 27/11/2005, 08:24
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Ya pero si no quiero que cargue ningun array, sino que me dará directamente el valor que quiero, como lo hago??

Gracias de nuevo
  #6 (permalink)  
Antiguo 27/11/2005, 08:36
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
OK, ok

sin problema... es el ansia de preguntar antes de pensar...

Puse otro array:

var todos = new Array()
todos[0] = new slctr('- Todos -')


Gracias tunait... y no te preocupes... habrá créditos

Un saludo
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 13:30.