Ajax/Prototype/Scriptaculous

Hello,

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.

CIA

-ants

Perhaps you can add a link_to_remote, either in the section or
surrounding it, to add an extra option then update the select list.

The Rails Cookbook has a section on using ajax to add DOM Elements to
a page

And there is this :http://api.rubyonrails.org/classes/ActionView/
Helpers/PrototypeHelper/JavaScriptGenerator/GeneratorMethods.html

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.

Any idea what I need to do to rectify that?

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.

Niels

Good timing, just came to check my replies.

Thanks for the heads up on that, I’ll give it a go. I hate frontend
development!! Whatever was wrong with static HTML?!! :wink: