Mey be this: http://dev.s-cubism.com/plugin_lazy_options_widget

On Wed, Sep 21, 2011 at 1:13 PM, Omi Chiba <ochib...@gmail.com> wrote:

> I have two drop down list. They have foreign key so they're parent-child
> structure. I want user to pick category from first list, which will execute
> onchange event to dynamically update second list.
>
> So far, I can confirm onchange event is working to return a string value by
> calling 'echo' function but Nothing is returned for 'model' function.
>
> I have a stupid submit button called 'Update Model' and I am thinking if we
> can just simply submit the form with onchange event as if user click the
> button.
>
> Any ideas??
>
>
> <https://lh5.googleusercontent.com/-CSnuTO2l3wc/TnoMWX7FuLI/AAAAAAAAAEY/CxCeva0_CRQ/firstJPG.JPG>
>
>
> <https://lh5.googleusercontent.com/-5OYHEgfRK5k/TnoMdakVn1I/AAAAAAAAAEg/JLo5YiBQOFM/second.JPG>
>
>
> DB.PY
> --------------------
> db.define_table('Category',
>     Field('Code', 'integer'),
>     Field('Name'))
>
> db.define_table('Model',
>     Field('Code', 'integer'),
>     Field('Name'),
>     Field('Category_ID', db.Category),
>     Field('Note', 'text'),
>     Field('Image', comment='e.g. Model/abc.jpg'),
>     Field('Coding_Image', comment='e.g. Coding/abc.jpg'),
>     Field('Unit'))
>
> Controllers/default.py
> -------------------------------------
> def index():
>     if request.vars.model_name:
>         lists =
> db(db.Product.Model_ID==request.vars.model_name).select(db.Product.ALL)
>         themodels = db(db.Model.id
> ==request.vars.model_name).select(db.Model.ALL)
>     else:
>         lists = db(db.Product.Model_ID==1).select(db.Product.ALL)
>         themodels = db(db.Model.id==1).select(db.Model.ALL)
>
>     categories = db().select(db.Category.ALL)
>
>     if request.vars.category_name:
>         models =
> db(db.Model.Category_ID==request.vars.category_name).select(db.Model.ALL)
>     else:
>         models = db(db.Model.Category_ID==1).select(db.Model.ALL)
>     return dict(lists=lists, categories=categories, models=models,
> themodels=themodels)
>
> def model():
>     if request.vars.category_name:
>         models =
> db(db.Model.Category_ID==request.vars.category_name).select(db.Model.ALL)
>     else:
>         models = db(db.Model.Category_ID==1).select(db.Model.ALL)
>     return dict(models=models)
>
> def echo():
>     return request.vars.category_name
>
>
> default/index.html
> --------------------------------
> <form enctype="multipart/form-data" action="{{URL()}}" method="post">
>     <select name='category_name' onchange="ajax('echo', ['category_name'],
> 'target')">
>     {{for category in categories:}}
>     <option value="{{=category.id}}"
>     {{=" selected='selected'" if str(category.id)==request.vars.category_name
> else ""}}>
>     {{=category.Name}}
>     </option>
>     {{pass}}
>     </select>
>     <input type="submit" value='Update Model'>
>
>     <select>
>         <option value='a' id='target'>a</option>
>     </select>
>
>     <select name='model_name' >
>     {{for model in models:}}
>     <option value="{{=model.id}}"
>     {{=" selected='selected'" if str(model.id)==request.vars.model_name
> else ""}}>
>     {{=model.Name}}</option>
>     {{pass}}
>     </select>
>     <input type="submit" value='Show prices   '>
> </form>
>
>


-- 



--
Bruno Rocha
[ About me: http://zerp.ly/rochacbruno ]
[ Aprenda a programar: http://CursoDePython.com.br ]
[ O seu aliado nos cuidados com os animais: http://AnimalSystem.com.br ]
[ Consultoria em desenvolvimento web: http://www.blouweb.com ]

Reply via email to