I can’t find a way to do what I’m trying so maybe someone can throw
something at me.
The idea is if an option is not in a select list, the user can click a
link
next to the list ‘not there?’ and this will open uop a text field box
below.
The user then enters the missing option, hits enter and the select list
will
update and have the new entry already selected.
I can use remote_form_tag to get to send the text_field without
refreshing
the page but I can’t find an option as with
text_field_with_auto_complete’s
:after_update_element. I want to fire another Ajax request to repopulate
the
select list.
I may already have seen the solution in my searching but I now can’t see
the
wood for the trees.
Yeah, thanks for that. I went away yesterday and when I came back to it,
I
arrived at the same solution.
Are you an expert with RJS? If so, I have another question. I have a
select
drop down list that will now be added to dynamically using RJS. But upon
completion of the RJS request, all of my observer fields die (stop
observing) unless I physically refresh the page.
You need to re-add the observers in your RJS call. If you have an
observer on an element with ID foo & you replace that element
(page[:foo].reload), the observer goes with it. However, depending on
how your observer is setup adding to the element ie another li or a
subnode, can limit the need for resetting the observer.
JQuery has a “live” feature that basically does this for you, albeit
with a small performance overhead.