I would do something like this:
db.define_table('nominee',Field('name'),Field('region_id',db.Regions))
def get_nominees():
region_id = request.vars.region_id
return TAG[''](*[OPTION(r.name,_value=r.id) for r in
db(db.nominee.region_id=region_id).select()])
def get_form():
script="""
jQuery(function(){jQuery('input[name=region_id]').keyup(function()
{
var region_id = jQuery('input[name=region_id]').val();
jQuery.post('{{=URL('get_nominees')}}', { region_id:
region_id }, function(data, textStatus, jqXHR){
Query('select[name=nominee]').html(data);
});});});
"""
form =
FORM(INPUT(_name='region_id'),SELECT(_name='nominee'),INPUT(_type='submit'),script)
On Apr 25, 11:45 am, Mohamed Sami <[email protected]> wrote:
> Hi All,
>
> I'm making a website for elections,
> so i have table for Governorates definition, then region definition
> related to Governorate
>
> also i created a table for nominees which is related to each region
> and each region can have more than one nominee.
>
> also i have a table for voters who is living in a chosen region, and
> he should choose a nominee which is related only to these region.
>
> my table like:
>
> db.define_table('Voters', Field('name', label = 'Full Name'),
> Field('national_id', label ='National ID', unique= True, length
> =14),
> Field('email', label ='Email Address'),
> Field('region_id', db.Regions,label ='Region'),
> Field('Nominee_id', db.Nominees, label ='Nominee Name'))
>
> i want to create a form for adding new voter and in this form he can
> choose his nominee based on his living region. so i want the form to
> automatically show the governorates list, the regions list based on
> selected governorate, then show the nominees list based on selected
> region.
>
> is there any solution for this.
>
> thank you