Foros del Web » Programando para Internet » Javascript »

Formulario Categoria / Subcategoria

Estas en el tema de Formulario Categoria / Subcategoria en el foro de Javascript en Foros del Web. Hola: Tengo un Formulario dónde me gustaría que al seleccionar la categoría, me selecciones en otra casilla la lista de subcategoria. es decir tengo un ...
  #1 (permalink)  
Antiguo 12/11/2003, 06:30
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 8 meses
Puntos: 1
Formulario Categoria / Subcategoria

Hola:

Tengo un Formulario dónde me gustaría que al seleccionar la categoría, me selecciones en otra casilla la lista de subcategoria.

es decir tengo un menu select :
<select name="categoria" size="1" >
<option value="0">(Indicar Categoría) </option>
<option value="1">Misterio</option>
<option value="2">Novela</option>
<option value="3">Narrativa</option>

La idea es que cuando se seleccione cualquier categoría por ej. Novela, en otro menu select apareciera la lista de subcategoría novela. y estos variasen dependiendo de la categoria que selecciones.

Muchas Gracias por la ayuda!

K
  #2 (permalink)  
Antiguo 12/11/2003, 07:20
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Dime si te sirve este ejemplo. Si no lo entiendes te lo explico.

Código PHP:
<html>
<
head>
    <
title>Untitled</title>
    <
script>
    
//cosas=[seleccione,[lista de la primera opcion],[lista de la segunda opcion]...]
    
cosas=["Seleccione en el primero",["casa","hogar","lar","domicilio"],["vehículo","coche","automovil"],["guitarra","instrumento","cuerdas"]]
    function 
cargar(){
    
document.forms[0].segundo.disabled=true;
    for (
a=0;a<5;a++){
    
document.forms[0].segundo.options[a] = null;
    }
    
opcion=document.forms[0].primero.options.selectedIndex;
    if (
opcion==0){document.forms[0].segundo.options[0]=new Option("Seleccione en el primero","Seleccione en el primero","defaultSelected");
    return 
false;}
    
    for (
a=0;a<cosas[opcion].length;a++){
    
document.forms[0].segundo.options[a] = new Option(cosas[opcion][a],cosas[opcion][a]);
    }
    
document.forms[0].segundo.disabled=false;
    }    
    
</script>
</head>

<body>
<form>
<select name=primero  onchange=cargar()>
<option value="·">Seleccione
<option value="·">choza
<option value="·">transporte
<option value="·">instrumento
</select>
<select name=segundo disabled> 
<option>Seleccione en el primero
</select>
</form>


</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 12/11/2003, 08:43
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 8 meses
Puntos: 1
Hola Karlankas !
Gracias por la respuesta voy a probarlo, aunque veo un inconveniente y es que si el listado es muy grande? es decir de una librería hay que escribir todos los títulos?

K
__________________
Kaito
  #4 (permalink)  
Antiguo 12/11/2003, 09:24
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 8 meses
Puntos: 1
Hola Karlankas !

Lo he probado y eso es lo que necesito, la única duda es al seleccional la categoría y la subcategoría, como se envía esa selección a la BBDD?

saludos

K
__________________
Kaito
  #5 (permalink)  
Antiguo 14/11/2003, 04:17
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Pues... qué lenguaje usas?

Leyendo el formulario...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 16/11/2003, 02:01
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 8 meses
Puntos: 1
Utilizo ASP!!

lo qu no me queda claro dentro de la programación, es como envío la subcategoría, sobretos. porque la categoría como tinene los values, pues se como hacerlo pero la subcategoría no.

Un Saludo,

K
  #7 (permalink)  
Antiguo 16/11/2003, 18:12
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
cada categoría tiene sus subcategorías, no? `la categoría 1 tiene sus subcategorías, la 2 igual, la 3...

pues en la variable cosas lo vas metiendo entre corchetes. ASí pones:

cosas=[""

poruqe el primero es la opción cero que es ("por favor seleccione en las categorías")
luego pones una coma y metes entre corchetes las subcategorías de la primera categoría separadas por comas

cosas=["",["subcategoria1.1","subcategoria1.2","subcategoria1 .3"]

luego nueva coma y los de la segunda también separados por comas dentro de corchetes:

cosas=["",["subcategoria1.1","subcategoria1.2","subcategoria1 .3"],["subcategoria2.1","subcategoria2.2","subcategoria2 .3"]

así todas las que quieras y terminas cerrando el último corchete:

cosas=["",["subcategoria1.1","subcategoria1.2","subcategoria1 .3"],["subcategoria2.1","subcategoria2.2","subcategoria2 .3"]]

Y el script se encargará de generar las options tomando como valor el nombre que hayas puesto como texto. ¿Quieres que sea distinto el value del texto?
Espero que te haya servido la explicación
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #8 (permalink)  
Antiguo 16/11/2003, 18:16
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Para que puedas poner valores distintos utiliza la variable valores:
Código PHP:
<html>
<
head>
    <
title>Untitled</title>
    <
script>
    
//cosas=[seleccione,[lista de la primera opcion],[lista de la segunda opcion]...]
    
cosas=["Seleccione en el primero",["casa","hogar","lar","domicilio"],["vehículo","coche","automovil"],["guitarra","instrumento","cuerdas"]]

valores=["",["casa1","hogar2","lar3","domicilio4"],["vehículo","coche","automovil"],["guitarra","instrumento","cuerdas"]]

    function 
cargar(){
    
document.forms[0].segundo.disabled=true;
    for (
a=0;a<5;a++){
    
document.forms[0].segundo.options[a] = null;
    }
    
opcion=document.forms[0].primero.options.selectedIndex;
    if (
opcion==0){document.forms[0].segundo.options[0]=new Option("Seleccione en el primero","Seleccione en el primero","defaultSelected");
    return 
false;}
    
    for (
a=0;a<cosas[opcion].length;a++){
    
document.forms[0].segundo.options[a] = new Option(cosas[opcion][a],valores[opcion][a]);
    }
    
document.forms[0].segundo.disabled=false;
    }    
    
</script>
</head>

<body>
<form>
<select name=primero  onchange=cargar()>
<option value="·">Seleccione
<option value="·">choza
<option value="·">transporte
<option value="·">instrumento
</select>
<select name=segundo disabled> 
<option>Seleccione en el primero
</select>
</form>


</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #9 (permalink)  
Antiguo 16/11/2003, 19:36
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 8 meses
Puntos: 1
Voy a probarlo y te comentaré como me va!!

Muchas Gracias

K
__________________
Kaito
  #10 (permalink)  
Antiguo 02/12/2003, 12:22
Avatar de kvoloj  
Fecha de Ingreso: agosto-2003
Mensajes: 124
Antigüedad: 20 años, 8 meses
Puntos: 1
Hola Karlankas!

Hasta ahora ha funcionado genial!

Tengo una duda, por ejemplo, si tengo un option value que sea sellecionar todos, el cual te debe permitir ver todas las listas,
como se escribe en la programación?
Porque para que me muestre las categorias las llame con números, en el ejemplo encontrarás
en el caso de 170 (novelas) y 180 (misterio), muestrame la categoría '110 + 120 + 130 + 140 + 150 + 160'; (las editoriales)
pero si pongo una sola me la muestra pero al sumar varias listas no lo muestra. supongo estoy escribiendo algo mal. o no se puede mostrar listas sumadas?
ej.:
case '170':
case '180':
categoria = '110 + 120 + 130 + 140 + 150 + 160';
break;
__________________
Kaito
  #11 (permalink)  
Antiguo 15/07/2011, 00:08
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Formulario Categoria / Subcategoria

Excelente muchas gracias, me sirvio de muhco es Ud un maestro
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:39.