Are .autocomplete() and .autocomplete() jQuery functions? If so, the
correct web2py output depends on the jQuery interface
specification. What HTML elements do that functions handle? OPTION,
UL, LI, ...?
On Feb 15, 5:38 am, Annet <anneve...@googlemail.com> wrote:
> I have the following function:
>
> def index():
> form=SQLFORM.factory(
> Field('word',length=128,requires=IS_NOT_EMPTY()),
>
> Field('locality',length=64,requires=IS_NOT_EMPTY()),separator=False)
> rows=[]
> if form.accepts(request.vars,session,keepvalues=True):
> rows=db().select()
> elif form.errors:
> response.flash=response.flash_searcherror
> else:
> response.flash=response.flash_searchform
> return dict(form=form,rows=rows)
>
> Field 'word' should be a multiselect, Field 'locality' an
> autocomplete:
>
> def keywords_multiselect():
> rows=db(db.NetworkKeyword.networkID==session.hubnetworkID)\
>
> .select(db.NetworkKeyword.word,distinct=True,orderby=db.NetworkKeyword.word).as_list()
> result=[r['word']for r in rows]
> return response.json(result)
>
> def locality_autocomplete():
>
> rows=db((db.NodeKeyword.word==???)&(db.NodeKeyword.nodeID==db.Address.nodeID)&
> \
> (db.Address.locality.like(request.vars.term+'%')))\
>
> .select(db.Address.locality,distinct=True,orderby=db.Address.locality).as_list()
> result=[r['locality']for r in rows]
> return response.json(result)
>
> In the view I have the following code:
>
> <script type="text/javascript">
> $(document).ready(function(){
> $("#word").multiselect();
>
> });
>
> $(function() {
> $("#no_table_locality").autocomplete({
> source: "{{=URL('hubaddressbook', 'locality_autocomplete')}}",
> minLength: 2
> });});
>
> </script>
>
> I had a look at the list:reference example in chapter 6 of the book to
> get the options for the multiselect, however, in my case the options
> are the result of a query. How do I get the result of
> keywords_multiselect(): function in the word Field multiselect?
>
> When the user selects a word, that word should replace the ??? in the
> locality_autocomplete(): function. How would I get that to work?
>
> Kind regards,
>
> Annet.