Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Otros Temas » JavaScript » Mostrar datos en un combo según selección que se hace en otr Responder al tema
Nuevo tema


Página 1 de 1  [ 2 mensajes ] 
 
Nota 2007-11-15 04:25 @226

Perlero Frecuente
Registrado: 2005-04-28 05:47 @282
Mensajes: 188
Mostrar datos en un combo según selección que se hace en otr
¡¡¡ Muchas gracias por la buena predisposición para ayudarme !!! Les planteo mi problema:

Tengo un Form con 2 campos tipo combos, una con categorías de materiales y la otra de materiales. Yo necesito un Javascript para que cuando el usuario seleccione una categoría determinada, le aparezca en el otro combo SOLO los materiales que pertenecen a esa categoría.
Los combos se llenan con datos de una base de datos:

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
# Categorías de material
#------------------------------------------------------------------------------
  my (%categorias_material)= ('-1' => ' Seleccione Categoría del Material');
        {
         my $ref = $dbh_m->selectall_arrayref( " SELECT id_categoria_mat, nombre" .
                                         " FROM categorias_material "  );
  foreach (@$ref) {$categorias_material{${$_}[0]} = ${$_}[1] }
        }
  my (@categorias_material) = sort { $categorias_material{$a} cmp
                           $categorias_material{$b}} keys %categorias_material;


#   Materiales
#------------------------------------------------------------------------------------------------------------------------------

my (%materiales)=  ('-1' => ' Seleccione Material');
        {
        my $ref = $dbh ->selectall_arrayref( " SELECT id_categoria_mat, id_material, nombre" .
                                        " FROM materiales ");
  foreach (@$ref) {$materiales{${$_}[0] . '-' . ${$_}[1]} = ${$_}[2] }
         }
 my (@materiales) = sort {$materiales{$a} cmp $materiales{$b}}  keys %materiales;



# EN MI FORMULARIO desplayo los siguientes CAMPOS
#------------------------------------------------------------------------------------------------------------------------------

   TR( td({-align=>"left",-colspan=>2 , -height=>'40'},
             b("Categoría: "),
              scrolling_list(-name=>"id_categoria_mat",
                             -id=>"id_categoria_mat",
                             -override=>1,
                             -default=>$id_categoria_mat,
                             -size=>1,
                             -value=>\@categorias_material,
                             -labels=>\%categorias_material,
                  -class=>'texto_form',
                             -onChange=>"llenar_materiales_segun categoria(this.value)" )       )),
                   
      TR( td({-align=>"left",-colspan=>2, -height=>'45'},
                    b("Material: " ),
          scrolling_list(-name=>'id_material',
                         -id=>'id_material',
                          -default=>$id_material,
                          -override=>1,
                          -size=>1,
                          -value=>\@materiales,
                          -class=>'texto_form',
                          -labels=>\%materiales ) )),


¿Cómo genero la función Javascript: llenar_materiales_segun_categoria para obtener de todos los materiales que conforman el arreglo de materiales, SOLO los que tienen la categoría elegida en el otro combo?

Muchísimas gracias


Nota 2007-11-15 05:49 @284
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10268
Puedes hacer que se redibuje la página al recibir un evento onchange() en el primer select. Así al menos podrás mostrar los valores actualizados en los dos select.

Otra opción es usar Ajax, por ejemplo. En este foro hay algunos ejemplos.

_________________
JF^D Perl programming


Responder al tema  [ 2 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO