Hi all, Depending on the selection in a selection box I need to render a partial. I want to do this without calling the server. I think I need to use link_to_function. The problem is that I dont see how to implement this for a selection box. I also what to trigger the partial rendering immediately after the user made a selection in the box (and thus not clicking on a button) Thanks, Stijn --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Whatever you wanted to put in the link_to_function, put in the onchange of the select. Note that since you don''t want to make the round trip to the server to render the partial, or update a div with the contents of the partial, whatever you want to display as a result of the user selecting something in the select box, needs to be already on the page. You''ll just show/hide divs depending on the user selection. On Feb 2, 11:01 am, Tarscher <tarsc...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi all, > > Depending on the selection in a selection box I need to render a > partial. I want to do this without calling the server. I think I need > to use link_to_function. The problem is that I dont see how to > implement this for a selection box. I also what to trigger the partial > rendering immediately after the user made a selection in the box (and > thus not clicking on a button) > > Thanks, > Stijn--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thanks for the reply. I wrote a small test but I don''t see how I can render a partial when the onchange event is triggered. Don''t I have to use RJS for this? <% options = ["wedstrijd", "mededeling"] %> <%= select_tag "test", options_for_select(options), :onchange => "Element.hide(''div_test''); " %> <div id="div_test"> - test - </div> regards, Stijn On 2 feb, 20:18, Daly <aeld...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Whatever you wanted to put in the link_to_function, put in the > onchange of the select. Note that since you don''t want to make the > round trip to the server to render the partial, or update a div with > the contents of the partial, whatever you want to display as a result > of the user selecting something in the select box, needs to be already > on the page. You''ll just show/hide divs depending on the user > selection. > > On Feb 2, 11:01 am,Tarscher<tarsc...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > Hi all, > > > Depending on the selection in a selection box I need to render a > > partial. I want to do this without calling the server. I think I need > > to use link_to_function. The problem is that I dont see how to > > implement this for a selection box. I also what to trigger the partial > > rendering immediately after the user made a selection in the box (and > > thus not clicking on a button) > > > Thanks, > > Stijn--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi there, You have 2 options: Option 1 - No Ajax (tested): <!-- Start HTML --> MY TEST <div id="one" style="display:none">I am div one<br/><%render :partial => ''one'' %></div> <div id="two" style="display:none">I am div two<br/><%render :partial => ''two'' %></div> <%= select_tag "test", options_for_select([["please select an option...", ""], ["show one", "one"], ["show two", "two"]]), :onchange => "$(this.value).show()" %> <!-- End HTML --> Option 2 - Ajax(not tested): <div id="update_me"></div> <%= select_tag "test", options_for_select([["please select an option...", ""], ["show one", "one"], ["show two", "two"]]), :onchange => "Ajax.Request("/some_controller/some_action/?div_id=" + this.value %> In your controller you could then do something like: def some_action # do stuff render :update do |page| page[''update_me''].replace_html :partial => param[:div_id] page[params[:div_id].show end end Instead of the render :update block, you can have a respond_to | format| block and put a format.js {} in there, create an rjs template with the name of the action, and paste the code inside the render :update block in it. Cheers, Ahmed On Feb 3, 10:33 am, Tarscher <tarsc...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Thanks for the reply. > > I wrote a small test but I don''t see how I can render a partial when > the onchange event is triggered. Don''t I have to use RJS for this? > > <% options = ["wedstrijd", "mededeling"] %> > <%= select_tag "test", options_for_select(options), > :onchange => "Element.hide(''div_test''); " %> > <div id="div_test"> > - test - > </div> > > regards, > Stijn > > On 2 feb, 20:18, Daly <aeld...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > Whatever you wanted to put in the link_to_function, put in the > > onchange of the select. Note that since you don''t want to make the > > round trip to the server to render the partial, or update a div with > > the contents of the partial, whatever you want to display as a result > > of the user selecting something in the select box, needs to be already > > on the page. You''ll just show/hide divs depending on the user > > selection. > > > On Feb 2, 11:01 am,Tarscher<tarsc...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > Hi all, > > > > Depending on the selection in a selection box I need to render a > > > partial. I want to do this without calling the server. I think I need > > > to use link_to_function. The problem is that I dont see how to > > > implement this for a selection box. I also what to trigger the partial > > > rendering immediately after the user made a selection in the box (and > > > thus not clicking on a button) > > > > Thanks, > > > Stijn--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---