RJS: How to create an observer?

When updating a page with RJS is can happen that an element to which
observers are attached is exchanged with a new one. In my case, I have
an observed select element that gets replaced when some other input
element changes. When I replace the old select element with a new one,
the new select element doesn't magically take over the observer(s)
attached to the old one, therefore I have to explicitly attach an
observer to the new one.

Surprisingly, there doesn't seem to be a way to do this purely within
the confines of the JavaScriptGenerator. The best I've come up with is
to insert the necessary JavaScript code manually, i.e.

page << "new Form.Element.Observer('my_select_element'," +
        " function(element, value) { ... });"

That doesn't feel right. Is there no better way, either of doing it
without recourse to explicit JavaScript, or, better still, to keep
observers automatically attached to elements by id even after they have
been replaced.


Hm, an earlier reply I sent through the web interface of my mail account
apparently didn't make it. Yes, indeed, the helpers are available, but
in this case they insert script tags around the generated JavaScript
code. That's not really what I want to have in an RJS response.