How to Trigger 'onclick' or 'onchange' on <select>

I have two dropdowns ‘a’ and ‘b’. when something is selected on ‘a’,
its onchange event has an action and an update area which works fine.

but when it comes to editing a record, i am able to list items in ‘a’
dropdown and select the current value but this leave ‘b’ dropdown empty.

i would like to trigger an onchange or onclick event for 'a’s selected
value so that ‘b’ drop down is populated correctly.

any ideas?

This is easily a dhtml issue, or one that can likely be performed in
rjs. (repopulating ‘b’) when someting occurs. Additionally, here is
working code I use to pick up when a dropdown’s selection has changed:

<% form_for :channels, :html => {:name => ‘channelsform’},:url=>
{ :action =>“newchannel”, :controller =>“channels”} do |f| %>
<%= f.label “Channel” %>
<%= select(“channel”, “id”, Channel.find(:all, :order => ‘channel
ASC’, :conditions => [‘deleted=0’]).collect {|p| [ p.channel,
p.id ]}, { :include_blank => true}, { :onchange =>
“document.channelsform.submit();”}) %>

<%end%>

It;s a little polluted with real-world dictates, but I dont want to
hack things out for trhis example and give you a broken example
inadvertently. The meat occurs in the :onchange where the form is
submitted in this case (when the user changes their selection).
Incidentally, this occurs in a partial, which then executes the
Channelscontroller.newchannel method. Perhaps you make a partial
holding dropdown ‘b’ and repopulate it in such a method? That should
work fine -Janna B

On Jul 8, 2:46 am, Rails L. [email protected]

Rails L. wrote:

I have two dropdowns ‘a’ and ‘b’. when something is selected on ‘a’,
its onchange event has an action and an update area which works fine.

but when it comes to editing a record, i am able to list items in ‘a’
dropdown and select the current value but this leave ‘b’ dropdown empty.

i would like to trigger an onchange or onclick event for 'a’s selected
value so that ‘b’ drop down is populated correctly.

any ideas?

You can use observe_field which observe ‘a’ select tag and change the
values of ‘b’.

Example :
select_tag “country”, “XYZ”

observe_field ‘country’,:url => { :controller => ‘location’, :action =>
‘location_chooser’ },:on => ‘click’, :with => :q

google more on observe_field and select_tag.