I want to improve it before because I don't like the way the Select
_OR_ADD_Otion works... It changes the select and options class name and it
prevent the use of other jQuery plugin with the autocomplete widget... For
example, I want to use my AutocompleteWidgetSelectOrAddOption and asmSelect
or bsmSelect (http://www.ryancramer.com/journal/entries/asmselect_v104/ or
https://github.com/vicb/bsmSelect) but I just can't the way all those
plugins are implemented...

Also, autocomplete widget I used is maybe not the last version of it, I
heard that there is a newer version of it, I implement
the AutocompleteWidgetSelectOrAddOption base on the autocomplete widget
available in web2py 1.99.4...

Richard

On Mon, May 14, 2012 at 12:41 PM, Remco K <remc...@gmail.com> wrote:

> That would be nice. I think there are more people who can use this.
>
>
> 2012/5/14 Richard Vézina <ml.richard.vez...@gmail.com>
>
>> I merge autocomplete with SELECT_OR_ADD_OPTION and name it :
>> AutocompleteWidgetSelectOrAddOption
>>
>> It available here at the bottom of the thread :
>> https://groups.google.com/forum/?fromgroups#!topic/web2py/9KamKgHKUwU
>>
>> Or I will create a web2py slice soon, I hope...
>>
>> Richard
>>
>>
>>
>> On Mon, May 14, 2012 at 12:32 PM, Remco K <remc...@gmail.com> wrote:
>>
>>> Thank you very much, Anthony! This was exactly what i was looking for.
>>> Problem solved.
>>>
>>> Op vrijdag 11 mei 2012 19:07:32 UTC+2 schreef Anthony het volgende:
>>>
>>>> Are you trying to auto-complete a reference field, and you want to be
>>>> able to add new records to the referenced table? The built-in autocomplete
>>>> widget doesn't handle that out of the box, but upon submission, you could
>>>> check the request variables, and if the submitted value doesn't belong to
>>>> an existing record in the referenced table, you could do an insert:
>>>>
>>>> Model:
>>>>
>>>> db.define_table('category', Field(name))
>>>>
>>>> db.define_table('article',
>>>>     Field('title'),
>>>>     Field('body', 'text'),
>>>>     Field('category', db.category,
>>>>           widget=SQLFORM.widgets.autocom**plete(request, db.category.
>>>> name, id_field=db.category.id)))
>>>>
>>>> Controller:
>>>>
>>>> def myfunction():
>>>>     if request.post_vars._**autocomplete_name_aux and not request.
>>>> post_vars.category:
>>>>         request.post_vars.category = db.category.insert(name=reques**t.
>>>> post_vars._autocomplete_**name_aux)
>>>>     return dict(form=SQLFORM(db.article).**process())
>>>>
>>>> When you use the autocomplete widget on a reference field, it submits
>>>> the display value in a special field named _autocomplete_[display_field_
>>>> **name]_aux, and the actual field value is the record ID of the
>>>> referenced record associated with the display value. However, if you enter
>>>> and submit a display value that does not have an associated record in the
>>>> referenced table, the reference field value will simply be empty (though
>>>> the _autocomplete_..._aux field will contain the submitted display value).
>>>>
>>>> For example, when submitting a new article, suppose you enter
>>>> "programming" in the category input field, but "programming" does not yet
>>>> exist in the db.category table. In that case, request.post_vars.category
>>>> will be empty, and request.post_vars._**autocomplete_name_aux will
>>>> contain the word "programming". In that case, the above code inserts
>>>> "programming" into the db.category table and stores the new record ID in
>>>> request.post_vars.category. When the form is then processed, the new
>>>> db.article record will be created, with the new db.category record ID
>>>> stored in the db.article.category field.
>>>>
>>>> Perhaps the autocomplete widget should handle this automatically (with
>>>> an optional setting).
>>>>
>>>> Anthony
>>>>
>>>> On Thursday, May 10, 2012 12:44:51 PM UTC-4, gfdgdgfdg wrote:
>>>>>
>>>>> Hello everyone,
>>>>>
>>>>> I'm looking for a way to get an auto-complete field combined with
>>>>> adding non-existing item to the DB. I've seen a website which
>>>>> uses this functionality (demo: 
>>>>> http://www.tellmehow.nl/video.**html<http://www.tellmehow.nl/video.html>)
>>>>>
>>>>> I have already tried SELECT_OR_ADD_OPTION but i don't like
>>>>> drop-downs...
>>>>>
>>>>> Thanks in advance!
>>>>> Remco
>>>>
>>>>
>>> Op vrijdag 11 mei 2012 19:07:32 UTC+2 schreef Anthony het volgende:
>>>
>>>> Are you trying to auto-complete a reference field, and you want to be
>>>> able to add new records to the referenced table? The built-in autocomplete
>>>> widget doesn't handle that out of the box, but upon submission, you could
>>>> check the request variables, and if the submitted value doesn't belong to
>>>> an existing record in the referenced table, you could do an insert:
>>>>
>>>> Model:
>>>>
>>>> db.define_table('category', Field(name))
>>>>
>>>> db.define_table('article',
>>>>     Field('title'),
>>>>     Field('body', 'text'),
>>>>     Field('category', db.category,
>>>>           widget=SQLFORM.widgets.autocom**plete(request, db.category.
>>>> name, id_field=db.category.id)))
>>>>
>>>> Controller:
>>>>
>>>> def myfunction():
>>>>     if request.post_vars._**autocomplete_name_aux and not request.
>>>> post_vars.category:
>>>>         request.post_vars.category = db.category.insert(name=reques**t.
>>>> post_vars._autocomplete_**name_aux)
>>>>     return dict(form=SQLFORM(db.article).**process())
>>>>
>>>> When you use the autocomplete widget on a reference field, it submits
>>>> the display value in a special field named _autocomplete_[display_field_
>>>> **name]_aux, and the actual field value is the record ID of the
>>>> referenced record associated with the display value. However, if you enter
>>>> and submit a display value that does not have an associated record in the
>>>> referenced table, the reference field value will simply be empty (though
>>>> the _autocomplete_..._aux field will contain the submitted display value).
>>>>
>>>> For example, when submitting a new article, suppose you enter
>>>> "programming" in the category input field, but "programming" does not yet
>>>> exist in the db.category table. In that case, request.post_vars.category
>>>> will be empty, and request.post_vars._**autocomplete_name_aux will
>>>> contain the word "programming". In that case, the above code inserts
>>>> "programming" into the db.category table and stores the new record ID in
>>>> request.post_vars.category. When the form is then processed, the new
>>>> db.article record will be created, with the new db.category record ID
>>>> stored in the db.article.category field.
>>>>
>>>> Perhaps the autocomplete widget should handle this automatically (with
>>>> an optional setting).
>>>>
>>>> Anthony
>>>>
>>>> On Thursday, May 10, 2012 12:44:51 PM UTC-4, gfdgdgfdg wrote:
>>>>>
>>>>> Hello everyone,
>>>>>
>>>>> I'm looking for a way to get an auto-complete field combined with
>>>>> adding non-existing item to the DB. I've seen a website which
>>>>> uses this functionality (demo: 
>>>>> http://www.tellmehow.nl/video.**html<http://www.tellmehow.nl/video.html>)
>>>>>
>>>>> I have already tried SELECT_OR_ADD_OPTION but i don't like
>>>>> drop-downs...
>>>>>
>>>>> Thanks in advance!
>>>>> Remco
>>>>
>>>>
>>
>
>
> --
> Met vriendelijke groet,
>
> Remco Klappe
>

Reply via email to