Can anyone point me in the right direction with this, any good tutorial out there on how i can integrate java and web2py?
On Friday, February 9, 2018 at 12:05:32 PM UTC+1, Matthew J Watts wrote: > > Thanks for your reponse David! > > On Thursday, February 8, 2018 at 8:56:19 PM UTC+1, Dave S wrote: >> >> >> >> On Thursday, February 8, 2018 at 9:55:25 AM UTC-8, Matthew J Watts wrote: >>> >>> Hi community >>> >>> I'm having a few problems trying to understand how create a cascading >>> drop down list. I've followed this recipe - >>> >>> >>> http://www.web2pyslices.com/slice/show/1526/cascading-drop-down-lists-with-ajax-2 >>> >>> i've managed to adapt it slightly, but i'm having trouble trying to add >>> more tables to the cascade/sequence >>> >> >> I'm not much of a menu person (I make use of ordinary anchor links for >> the most part), but that example was probably written when BootStrap2 was >> the css/javascript in use. Currently, web2py ships with BootStrap3, which >> doesn't support more than 1 level of submenus. If you use stupid.css (as >> in applications/example), you might not have that limitation, but I can't >> show you what you want. >> >> >>> It is quite difficult for me (a beginner) to suss out the logic behind it >>> >>> >> Menus typically control what is shown by using javascript to manipulate >> CSS. Simple menus may be CSS only, but then they'd be statically defined. >> >> Good luck! >> >> /dps >> >> >> >>> So at the moment i have the code below, what i'm trying to do is return >>> a list of values from the "tax_class" table, based on a selection >>> from the "tax_phylum" table( based on sececting an entry from the >>> kingdom table) >>> >>> *model* >>> >>> db.define_table('tax_kingdom', >>> Field('name')) >>> >>> db.define_table('tax_phylum', >>> Field('name', 'string'), >>> Field('kingdom_id')) >>> db.tax_phylum.kingdom_id.requires = IS_IN_DB(db, db.tax_kingdom.id, >>> '%(name)s') >>> >>> db.define_table('tax_class', >>> Field('name', 'string'), >>> Field('phylum_id')) >>> db.tax_class.phylum_id.requires = IS_IN_DB(db, db.tax_phylum.id, '%(name)s') >>> >>> >>> *Controller* >>> >>> def index(): >>> kingdoms = db().select(db.tax_kingdom.ALL) >>> >>> if request.vars.kingdom_name: >>> phylum_select = db(db.tax_phylum.id == >>> request.vars.kingdom_name).select(db.tax_phylum.ALL) >>> else: >>> phylum_select = db(db.tax_phylum.id == 1).select(db.tax_phylum.ALL) >>> return dict(kingdoms=kingdoms, phylum_select=phylum_select) >>> >>> >>> def phylum(): >>> phylums = db(db.tax_phylum.kingdom_id == >>> request.vars.kingdom_name).select(db.tax_phylum.ALL) >>> result = "" >>> for p in phylums: >>> result += "<option value='" + str(p.id) + "'>" + p.name + >>> "</option>" >>> return XML(result) >>> >>> >>> >>> *view* >>> >>> >>> >>> {{extend 'layout.html'}} >>> >>> <form enctype="multipart/form-data" action="{{URL()}}" method="post"> >>> <select name='kingdom_name' >>> onchange="jQuery('#kingdom_name').empty(); >>> ajax('phylum', ['kingdom_name'], 'phylum_name');"> >>> {{for kingdom in kingdoms:}} >>> <option value="{{=kingdom.id}}" >>> {{=" selected='selected'" if >>> str(kingdom.id)==request.vars.kingdom_name else ""}}> >>> {{=kingdom.name}} >>> </option> >>> {{pass}} >>> </select> >>> >>> >>> <select id='phylum_name' name='phylum_name' > >>> <!-- loop through the index function i --> >>> {{for phylum in phylum_select:}} >>> <option value="{{=phylum.id}}" >>> {{=XML(" selected='selected'") if >>> str(phylum.id)==request.vars.phylum_name else ""}}> >>> {{=phylum.name}}</option> >>> {{pass}} >>> </select> >>> >>> >>> </form> >>> >>> -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

