Did you include all the necessary files? .selectpicker() is a function defined under bootstrap-select lib and not in core bootstrap library,hence you need to include that library as well
//silviomoreto.github.io/bootstrap-select/javascripts/bootstrap-select.js //silviomoreto.github.io/bootstrap-select/stylesheets/bootstrap-select.css HTML: <select class="selectpicker" id="searchType" name="searchtype" onchange="this.form.submit()"> <option value="All">All</option> <option value="Businesses">Businesses</option> <option value="Events">Events</option> <option value="News">News</option> <option value="Lifestyle">Lifestyle</option> </select> JQUERY CODE: $('.selectpicker').selectpicker(); On Tuesday, August 21, 2018 at 1:42:30 PM UTC-7, Rodrigo Gomes wrote: > > jim, thank you for you time, what is causing the error is, if i use > {{=form}} my code works, but if i use the form.custom as you suggested, my > code not work, if i > remove form.element(_id='no_table_cities').update(_class='selectpicker') in > my controller, form custom work again, so i have not idea about what is > goin on here, > > iam using my own custom html, because, form custom, and form, generate > much bootstrap classes betwen my code, and iam using a custom theme, This > is a bit of a problem, I like to have control in my hands, since I > identified that web2py identifies my inputs by the id and name of the > element, I have not used it the old way. > > I think it is well related to selectpicker, because if I use any other > class besides this, it does not interfere with the capture of my select data > > terça-feira, 21 de Agosto de 2018 às 17:07:23 UTC-3, Jim S escreveu: >> >> Ok, now that we know the problem isn't with SQLFORM.factory lets look >> closer at the generated html when using {{=form}} vs the html you typed in. >> >> Specifically: >> >> <select class="form-control selectpicker" id="no_table_address_type" >> name="address_type" data-style="btn-info btn-outline-info"> >> >> {{for t in address_type_list:}} >> <option value="{{=t.id}}">{{=t.type}}</option> >> {{pass}} >> </select> >> >> I'm curious why you're using your own custom html instead of using the >> custom form technique. >> http://web2py.com/books/default/chapter/29/07/forms-and-validators#Custom-forms >> >> {{=form.custom.begin}} >> {{=form.custom.widget.name}} >> {{=form.custom.widget.cpf}} >> {{=form.custom.widget.email}} >> {{=form.custom.widget.address_type}} >> {{=form.custom.widget.cities}} >> {{=form.custom.widget.person}} >> {{=form.custom.submit}} >> {{=form.custom.end}} >> >> Good luck >> >> -Jim >> >> On Tuesday, August 21, 2018 at 2:57:33 PM UTC-5, Rodrigo Gomes wrote: >>> >>> I just tested with {{= form}} and it really worked, so the problem is >>> between >>> >>> <form action="#" class="form-material" enctype="multipart/form-data" >>> method="post"> >>> >>> <input... >>> <input... >>> <input... >>> <input... >>> >>> <div class="hidden"> {{=form.hidden_fields()}} >>> </div> >>> >>> <input class="btn btn-info" type="submit" value="Salvar"> >>> </form> >>> >>> >>> >>> >>> terça-feira, 21 de Agosto de 2018 às 13:46:55 UTC-3, Jim S escreveu: >>>> >>>> Have you tried just displaying the form in your view using {{=form}}. >>>> Then add a requires=IS_IN_DB to the fields in your model. I'd do this >>>> just >>>> to make sure that SQLFORM.factory is working as expected. Make sense? >>>> >>>> >>>> http://web2py.com/books/default/chapter/29/07/forms-and-validators#Database-validators >>>> >>>> -Jim >>>> >>>> On Tuesday, August 21, 2018 at 11:34:23 AM UTC-5, Rodrigo Gomes wrote: >>>>> >>>>> i really think its a bug in form.factory, i tried modify by the >>>>> controller too, like >>>>> form.element(_id=no_table_cities).update(_class="selectpicker") >>>>> >>>>> and no sucess. >>>>> >>>>> terça-feira, 21 de Agosto de 2018 às 13:31:38 UTC-3, Rodrigo Gomes >>>>> escreveu: >>>>>> >>>>>> @auth.requires_login() >>>>>> def students(): >>>>>> form = form=SQLFORM.factory(db.person, db.address) >>>>>> >>>>>> cities_list = db(db.cities.id>0).select(db.cities.ALL) >>>>>> address_type_list = db(db.address_type.id>0 >>>>>> ).select(db.address_type.ALL) >>>>>> person_list = db(db.person.id>0).select(db.person.ALL) >>>>>> >>>>>> >>>>>> if form.process().accepted: >>>>>> id = db.person.insert(**db.person._filter_fields(form.vars)) >>>>>> form.vars.person=id >>>>>> id = db.address.insert(**db.address._filter_fields(form.vars)) >>>>>> redirect(URL('default','students')) >>>>>> response.flash='Form Submetido com sucesso!' >>>>>> elif form.errors: >>>>>> print(form.errors) >>>>>> print(form.vars) >>>>>> else: >>>>>> print('please fill out the form') >>>>>> return dict(form=form, cities_list=cities_list, >>>>>> address_type_list=address_type_list, >>>>>> person_list=person_list) >>>>>> >>>>>> >>>>>> terça-feira, 21 de Agosto de 2018 às 10:10:39 UTC-3, Peng Wang >>>>>> escreveu: >>>>>>> >>>>>>> How did you define your cities_list? >>>>>>> >>>>>>> On Thursday, August 16, 2018 at 4:39:35 PM UTC-7, Rodrigo Gomes >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> Good evening, folks, I've come here to unveil a mystery, I'm >>>>>>>> developing an application with web2py, (framework that I use about 3 >>>>>>>> years >>>>>>>> ago) >>>>>>>> >>>>>>>> I am using sqlform.factory, passing 2 tables, being that I do this >>>>>>>> to fill in a single form, table, person and address, for better >>>>>>>> understanding follows my controller, >>>>>>>> >>>>>>>> >>>>>>>> @auth.requires_login() >>>>>>>> def students(): >>>>>>>> form = form=SQLFORM.factory(db.person, db.address) >>>>>>>> >>>>>>>> if form.process().accepted: >>>>>>>> id = db.person.insert(**db.person._filter_fields(form.vars)) >>>>>>>> form.vars.person=id >>>>>>>> id = db.address.insert(**db.address._filter_fields(form.vars)) >>>>>>>> response.flash='Form Submetido com sucesso!' >>>>>>>> >>>>>>>> elif form.errors: >>>>>>>> print(form.errors) >>>>>>>> else: >>>>>>>> print('please fill out the form') >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> if it helps, this is my model, the tables and their relationships, >>>>>>>> >>>>>>>> db.define_table("person", >>>>>>>> Field("name", "string", length=50), >>>>>>>> Field("cpf", "string", length=11), >>>>>>>> Field("birthday", "date", length=11), >>>>>>>> Field("email","string", length=40), >>>>>>>> Field("registration_date","date", length=40) >>>>>>>> ) >>>>>>>> >>>>>>>> db.define_table("cities", >>>>>>>> Field("name", "string"), >>>>>>>> Field("state","reference state") >>>>>>>> ) >>>>>>>> >>>>>>>> db.define_table("address_type", >>>>>>>> Field("type","string",length=100), >>>>>>>> ) >>>>>>>> >>>>>>>> db.define_table("address", >>>>>>>> Field("number","integer"), >>>>>>>> Field("public_place","string"), >>>>>>>> Field("cep","string",length=15), >>>>>>>> Field("complement","string"), >>>>>>>> Field("cities",'reference cities'), >>>>>>>> Field("address_type",'reference address_type'), >>>>>>>> Field("person",'reference person', writable=False,readable=False) >>>>>>>> ) >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> This is my view >>>>>>>> >>>>>>>> <form action="#" class="form-material" enctype="multipart/form-data" >>>>>>>> method="post"> >>>>>>>> <div class="form-group"> >>>>>>>> <div class="col-md-12 m-b-20"> >>>>>>>> <!--form.custom.widget.name --> >>>>>>>> <input class="form-control" id="no_table_name" >>>>>>>> name="name" type="text" placeholder="nome"> >>>>>>>> </div> >>>>>>>> <div class="col-md-12 m-b-20"> >>>>>>>> <!--form.custom.widget.cpf --> >>>>>>>> <input class="form-control" id="no_table_cpf" >>>>>>>> name="cpf" type="text" placeholder="cpf"> >>>>>>>> </div> >>>>>>>> >>>>>>>> <div class="col-md-12 m-b-20"> >>>>>>>> <!--form.custom.widget.email --> >>>>>>>> <input class="form-control" id="no_table_email" >>>>>>>> name="email" type="text" placeholder="email"> >>>>>>>> </div> >>>>>>>> >>>>>>>> <div class="col-md-12 m-b-20"> >>>>>>>> <!-- <select class="form-control generic-widget" >>>>>>>> id="no_table_address_type" name="address_type"><option >>>>>>>> value="">Vazio</option><option value="1">Comercial</option><option >>>>>>>> value="2">Residencial</option></select> --> >>>>>>>> >>>>>>>> <select class="form-control selectpicker" >>>>>>>> id="no_table_address_type" name="address_type" data-style="btn-info >>>>>>>> btn-outline-info"> >>>>>>>> >>>>>>>> {{for t in address_type_list:}} >>>>>>>> <option value="{{=t.id}}">{{=t.type}}</option> >>>>>>>> {{pass}} >>>>>>>> </select> >>>>>>>> </div> >>>>>>>> <div class="col-md-12 m-b-20"> >>>>>>>> <select id="no_table_cities" name="cities" >>>>>>>> data-style="btn-info btn-outline-info" required> >>>>>>>> {{for city in cities_list:}} >>>>>>>> <option value="{{=city.id}}" >>>>>>>> >{{=city.name}}</option> >>>>>>>> {{pass}} >>>>>>>> </select> >>>>>>>> </div> >>>>>>>> >>>>>>>> <!--form.custom.end --> >>>>>>>> <div class="hidden"> >>>>>>>> {{=form.hidden_fields()}} >>>>>>>> </div> >>>>>>>> </div> >>>>>>>> >>>>>>>> <div class="modal-footer"> >>>>>>>> <input class="btn btn-info" type="submit" value="Salvar"> >>>>>>>> <button type="button" class="btn btn-default waves-effect" >>>>>>>> data-dismiss="modal">Cancelar</button> >>>>>>>> </div> >>>>>>>> </div> >>>>>>>> </form> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> now the problem: this selectpicker, simply my form can not store >>>>>>>> the value of select, when I add this class, I needed it, I do not need >>>>>>>> it >>>>>>>> that much, but it became a mission to understand what's happening >>>>>>>> here, I >>>>>>>> gave a print em form. vars.cities and she's just like None, help please >>>>>>>> >>>>>>>> <Storage {'name': 'maria', 'cpf': '09102910', 'birthday': None, >>>>>>>> 'email': 'rodg...@gmail.com', 'registration_date' public_place ':' >>>>>>>> ',' '' '' '' '' '' '' '' '' '' 'cities': None, 'address_type': None, >>>>>>>> 'person': 4}> >>>>>>>> >>>>>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.