FORM SELECT

89 views
Skip to first unread message

FERNANDO VILLARROEL

unread,
Apr 2, 2012, 12:35:13 PM4/2/12
to web2py-...@googlegroups.com
Hola Amigos.

Tengo dos tablas una con provincias y otra con ciudades


db.define_table('provincias',
SQLField('nombre', 'string', length=50, required=True, default=None))

db.define_table('ciudades',
SQLField('nombre', 'string', length=50, required=True),
SQLField('id_provincia',db.provincias, required=IS_IN_SET(db.provincias)))

db.define_table('clientes',
SQLField('nombre', 'string', length=50, required=True),
SQLField('id_provincia',db.provincias, required=IS_IN_SET(db.provincias)),
SQLField('id_ciudad',db.ciudades, required=IS_IN_SET(db.ciudades)))

Lo que quiero implementar es un FORM para agregar clientes con dos opciones SELECT de manera que el primer SELECT contenga las provincias así al seleccionar una provincia la segunda opción SELECT se cargue automaticamente con las ciudades asociadas a la provincia seleccionada en el primer SELECT, espero se entienda.

Lo probe con SQLFORM, pero no me esta funcionando, alguien me puede ayudar o indicandome algun documento que muestre como hacer esto.

Fernando

Martín Mulone

unread,
Apr 2, 2012, 2:27:24 PM4/2/12
to web2py-...@googlegroups.com
Si se podría hacer, empezá leyendo jquery and ajax del libro. http://www.web2py.com/books/default/chapter/29/11
No utilices "SQLField" en vez de eso usá "Field"
--

nicolás rosbaco

unread,
Apr 2, 2012, 3:15:21 PM4/2/12
to web2py-...@googlegroups.com
Hola, primero te voy a comentar como resolví yo algo muy parecido (no se si es muy ortodoxo, pero me funcionó)... después te voy a hacer un mangazo:

primero)
en default.py defino esta función:

## este combo lo usa via ajax la función de register para completar localidad en función de provincia   
def combo_localidad():
    provincia = request.vars.provincia
    localidades = db((db.localidades.id_provincia==db.provincias.id) & (db.provincias.nombre==provincia)).select(db.localidades.ALL, orderby=db.localidades.nombre)
    if len(localidades)>0:
        opciones = ''
        for localidad in localidades:
            opciones += '<option value=\"%(opcion)s\">%(opcion)s</option>' %dict(opcion=localidad.nombre)
    else:
        opciones = '<option>No hay opciones!</option>'       
    return opciones


en la vista default.html agrego este javascript:
<script language="javascript">
{{if request.args(0)=='register':}}  
    jQuery(document).ready(function() {
        jQuery("#auth_user_ciudad").html("<option>Elija una provincia primero</option>")
    });
   
    jQuery("#auth_user_provincia").change(function(){
        var pcia = jQuery("#auth_user_provincia").val();
        $.ajax({
          async: false,
          url: "{{=URL('default','combo_localidad')}}",
          data: 'provincia='+pcia,
          context: jQuery('#ventana'),
          success: function(datos){
            jQuery("#auth_user_ciudad").html("<option>Elija una provincia primero</option>").html(datos);
          }
        });
    });
{{pass}}
</script>

después) ahora te hago el mangazo. Tengo tambien dos tables provincias y localidades.... resulta que me dieron solo las localidades de rio negro y no logro conseguir el combo completo.... ¿pecaría de atrevido si te pidiera me facilitaras esas tablas?

Bueno gracias y suerte

El 2 de abril de 2012 13:35, FERNANDO VILLARROEL <fvill...@yahoo.com> escribió:



--
"En un país colonial las oligarquías son las dueñas de los diccionarios" (John William Cooke)

FERNANDO VILLARROEL

unread,
Apr 2, 2012, 5:16:07 PM4/2/12
to web2py-...@googlegroups.com
Hola Nicolas.

Gracias por tu ayuda lo voy a probar.

Mis localidades no creo que te sirvan ya que yo estoy en Chile, verdad?

Gracias nuevamente.

--- On Mon, 4/2/12, nicolás rosbaco <anti...@gmail.com> wrote:

nicolás rosbaco

unread,
Apr 3, 2012, 6:46:58 AM4/3/12
to web2py-...@googlegroups.com

Juas. Sí así no va.
Bueno suerte

_______________
desde celu y posiblemente apurado. sepa disculpar errores de edición.

El abr 2, 2012 9:16 p.m., "FERNANDO VILLARROEL" <fvill...@yahoo.com> escribió:

Hola Nicolas.

Gracias por tu ayuda lo voy a probar.

Mis localidades no creo que te sirvan ya que yo estoy en Chile, verdad?

Gracias nuevamente.

--- On Mon, 4/2/12, nicolás rosbaco <anti...@gmail.com> wrote:


From: nicolás rosbaco <anti...@gmail.com>
Subject: Re: FORM SELECT
To: web2py-...@googlegroups.com
Date: Monday, April 2, 2012, 4:15 PM


>
> Hola, primero te voy a comentar como resolví yo algo muy parecido (no se si es muy ortodoxo, pe...

Alan Etkin

unread,
Apr 7, 2012, 1:33:12 PM4/7/12
to web2py-usuarios
Yo saqué localidades de la web de un sitio estatal en formato excel si
no me equivoco. Me parece que era del INTI. La verdad que no sé qué se
hizo del archivo, no creo que lo tenga.

On 3 abr, 07:46, nicolás rosbaco <antiya...@gmail.com> wrote:
> Juas. Sí así no va.
> Bueno suerte
>
> _______________
> desde celu y posiblemente apurado. sepa disculpar errores de edición.
>
> El abr 2, 2012 9:16 p.m., "FERNANDO VILLARROEL" <fvillarr...@yahoo.com>
> escribió:
>
> Hola Nicolas.
>
> Gracias por tu ayuda lo voy a probar.
>
> Mis localidades no creo que te sirvan ya que yo estoy en Chile, verdad?
>
> Gracias nuevamente.
>
> --- On *Mon, 4/2/12, nicolás rosbaco <antiya...@gmail.com>* wrote:

diablo505

unread,
Apr 8, 2012, 9:18:14 AM4/8/12
to web2py-usuarios
Hola, fijate en esta página hay buenos ejemplos y por ahi vi algo que
buscas. Saludos

nicolás rosbaco

unread,
Apr 9, 2012, 10:10:39 AM4/9/12
to web2py-...@googlegroups.com

Cual página?

_______________
desde celu y posiblemente apurado. sepa disculpar errores de edición.

El abr 8, 2012 1:18 p.m., "diablo505" <raulol...@gmail.com> escribió:

Hola, fijate en esta página hay buenos ejemplos y por ahi vi algo que
buscas. Saludos


On 2 abr, 13:35, FERNANDO VILLARROEL <fvillarr...@yahoo.com> wrote:
> Hola Amigos.
>

> Tengo dos ta...

RUTMARYS TRUJILLO

unread,
Aug 28, 2016, 12:03:30 AM8/28/16
to web2py-usuarios

Hola, buenas, yo tengo un problema parecido, pero yo no tengo experiencia con los JQuery... me gustaría que me ayudaran, tengo una duda, con este codigo aparece en el Form??? me podrían orientar mas o menos como va???
muchísimas gracias.!!!
Reply all
Reply to author
Forward
0 new messages