Thanks a lot Val that's certainly the solution, however in the controller 
the var is always empty.
This is the original select code:
<select name='ceo_scheme' onchange="$('#overrides').empty(); ajax('{{=URL('
default','get_options_for_overrides')}}', ['ceo_scheme'], 'overrides');">

If I set manually the var in get_options_for_overrides the ajax call works.
For debug, if I modify get_options_for_overrides for 
returning get_options_for_overrides.vars.ceo_scheme the target select 
'override' is empty.

My original controller:
def get_options_for_overrides():
    ceo_scheme_id = get_options_for_overrides.vars.ceo_scheme
    overrides = db(db.ceo_schemes_and_overrides.ceo_scheme == ceo_scheme_id
).select(db.ceo_schemes_and_overrides.ALL)
    html = ''
    for override in overrides:
        html += '<option value=' + str(override.override.id) + '>' + 
override.override.name + '</option>' + '\r\n'
    return html

My controller for debug:
def get_options_for_overrides():
    ceo_scheme_id = get_options_for_overrides.vars.ceo_scheme
    return ceo_scheme_id

Do you know why?

Regards.

Il giorno martedì 11 agosto 2015 22:32:06 UTC+2, Val K ha scritto:
>
> Hello.
> Keep in mind that ajax() - is a simple web2py function  which is based on 
> Jquery (see web2py.js , its  code  is very short and clear)
> It can pass to controller  the values of the input elements only, see 
> http://api.jquery.com/serialize/. 
> So your select controls must have a  name   
> - <select name="any_name_1" ...
>
> To pass its  values just include its names in ['  '] -  ajax('{{=URL('
> default','get_options_for_dropdown2')}}', ['any_name_1,  any_name_2, ...'
> ], 'dropdown2');">
> To get it in the controller: 
> get_options_for_dropdown2.vars.any_name_1
>
>
>
> On Tuesday, August 11, 2015 at 6:43:59 PM UTC+3, Gael Princivalle wrote:
>>
>> Hello.
>>
>> I'm still making a form like in this post:
>>
>> https://groups.google.com/forum/#!searchin/web2py/jquery$20db/web2py/tvfncYsLrQs/MRHG5MWOMlAJ
>>
>> <!-- DROPDOWN1-->
>> <select onchange="jQuery('#dropdown2').empty(); ajax('{{=URL('default','
>> get_options_for_dropdown2')}}', [''], 'dropdown2');">
>>     <option...
>> </select>
>> <span id='dropdown2'>
>> <!-- DROPDOWN2-->
>> <select id='dropdown2'>
>>     <option...
>> </select>
>>
>> How is it possible to pass like a var the current select option value to 
>> the ajax call?
>>
>> With something like that?
>> data: {value: $('#select option:selected').val()}
>>
>> How it will be possible to retrieve this in the controller?
>>
>> Thanks.
>>
>

-- 
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.

Reply via email to