Before I waste more time trying to figure that out, I was wondering if it's even possible? The Rails Way says that observe_field by default will trigger changes in text fields and text areas, and on clicks for radio buttons and check boxes. So perhaps I'm using the wrong tool here? Thanks.
Before I waste more time trying to figure that out, I was wondering if it's even possible? The Rails Way says that observe_field by default will trigger changes in text fields and text areas, and on clicks for radio buttons and check boxes. So perhaps I'm using the wrong tool here? Thanks.
should do, but i'd just use an onChange handler.
Fred
So it's easy enough to pop some :onchange JavaScript code inline for a collection_select drop-down list. That code adds value of what's selected to a couple of other text fields:
<label for="venue_id">Place*:</label> <%= collection_select(:event, :venue_id, @venues_all, :id, :name, {:prompt => " Please select a location"}, {:onchange => "var id = this.value; document.forms[0].elements[2].value=(id);document.forms[0].elements[3].value=document.forms[0].elements[5].value"}) %>
But I don't want the venue value (id number) in the text fields; I want venue.phone and venue.url in those fields. After numerous hours the past few days, I still don't understand how I can mix JavaScript and Ruby so I can access the venue.phone and venue.url values and have them update my form's other text fields. Any advice appreciated.
So it's easy enough to pop some :onchange JavaScript code inline for a collection_select drop-down list. That code adds value of what's selected to a couple of other text fields:
<label for="venue_id">Place*:</label> <%= collection_select(:event, :venue_id, @venues_all, :id, :name, {:prompt => " Please select a location"}, {:onchange => "var id = this.value; document.forms[0].elements[2].value=(id);document.forms[0].elements[3].valu e=document.forms[0].elements[5].value"}) %>
But I don't want the venue value (id number) in the text fields; I want venue.phone and venue.url in those fields. After numerous hours the past few days, I still don't understand how I can mix JavaScript and Ruby so I can access the venue.phone and venue.url values and have them update my form's other text fields. Any advice appreciated.
One way would be to make an ajax call from the on change handler. The remote_function helper is good for this. Something like remote_function( :url => {...}, :with => "'id='+this.value")
Should submit the selected id to the specified action. You can then you some rjs to update the appropriate form elements.
Fred