From: Ezra Zygmuntowicz Date: 2006-08-08T04:18:49+09:00 Subject: Re: select box question On Aug 7, 2006, at 11:00 AM, Shanan Suding wrote: > Hi, > > Yet another newbie here... I'm writing an appliction in Rails, and > I've Ajaxified my select boxes so they update dynamically. I used > the "observe_field" method to monitor changes to my select box. I > find that it's kind of erratic... it updates constantly and makes > the selection for me, based on where my mouse happens to be > hovering when it does its observation. Not very user friendly. > I'd much rather the onChange event, but I'm not sure exactly how to > write the syntax for using the event. > > Here's my code as it is now: > >

> <%= observe_field("product[proddesc_pk]", > :frequency =>0.25, > :update => "component_id_list", > :url => { :action => :fill_component_box}, > :with => "'id='+value") > %> > > How would I go about changing that code so that it updates based on > an onChange event, rather than the observation? > > Any help would be greatly appreciated! > > Thanks, > ~ Shanan > Here is how you can use the onchange event which is much nicer to work with: <%= select_tag( 'product[proddesc_pk]', options_from_collection_for_select( Product.find_all, "proddesc_pk", "prod_name") , :onchange => remote_function(:with => "'proddesc_pk ='+value", :loading => "Element.show('loading-indicator1')", :url => { :action => : fill_component_box } ) %> Doing it that way will put the value in params[: proddesc_pk] for you . You can then respond with rjs to fill whatever you need to fill. Cheers- -EZra