Hi, I have a dropdown menu which shows the categories available. When a user selects one I want the browser to redirect to the selected category. I now have this code I found on stackoverflow; <%form_for :cat_form, :url => {:action => :viewflokkur_selected} do |f|%> <%= f.select :cat, @cats_for_mt, {:include_blank => "Flokkar mælitækis"}, :onchange => ''window.location.href = "viewflokkur/" + this.getAttribute("value")''%> <%end%> However, "value" appears to be null everytime, so I get thrown to http://localhost:3000/categories/viewflokkur/null. Is there something I need to do for this to work, or should I be doing something else? I don''t really understand how to use observer_fields either, but that seems to be something I should be looking into, is it not? Best regards, Sindri -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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.
this.getAttribute("value") won''t work on a select input, since the select doesn''t have a "value" attribute. Rather, it has a list of options, and one or more of them are selected. Try this.selectedIndex.value instead. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Tim Shaffer wrote:> this.getAttribute("value") won''t work on a select input, since the > select doesn''t have a "value" attribute. Rather, it has a list of > options, and one or more of them are selected. > > Try this.selectedIndex.value instead.Thanks for the suggestion, this.selectedIndex.value does not work though, now I get http://localhost:3000/categories/viewflokkur/undefined. Anywhere I can look this up? :) -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Please post the HTML that is output from the form. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hi, This is the output HTML. <form action="/categories/viewflokkur_selected" method="post"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="B2u5ULNr7IJ/ta0+hiAMBjmjEtTtc/yMAQQvSxFn2d0=" /></div> <select id="cat_form_cat" name="cat_form[cat]" onchange="window.location.href = "viewflokkur/" + this.selectedIndex.value"><option value="">Flokkar mælitækis</option> <option value="Almennt">Almennt</option> <option value="Hjartasjúkraþjálfun">Hjartasjúkraþjálfun</option> <option value="Lungnasjúkraþjálfun">Lungnasjúkraþjálfun</option> <option value="Taugasjúkraþjálfun">Taugasjúkraþjálfun</option> <option value="Öldrunarsjúkraþjálfun">Öldrunarsjúkraþjálfun</option></select> <br><br> </form> BR, Sindri -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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 again, I''ve also been trying to solve this using observe_field, and that ''almost'' seems to work. Here''s the code: <%=select_tag "cat_selected", options_for_select(@cats_for_mt)%> <%=observe_field ''cat_selected'', :url => {:action => :viewflokkur}, :with => ''cat'', :method => :get %> When I change the value, development.log shows this. Processing CategoriesController#viewflokkur (for 127.0.0.1 at 2010-06-12 12:04:33) [GET] Parameters: {"cat"=>"Taugasjúkraþjálfun", "authenticity_token"=>"B2u5ULNr7IJ/ta0+hiAMBjmjEtTtc/yMAQQvSxFn2d0="} Rendering template within layouts/main Rendering categories/viewflokkur Completed in 21ms (View: 18, DB: 0) | 200 OK [http://localhost/categories/viewflokkur?cat=Taugasj%C3%BAkra%C3%BEj%C3%A1lfun&authenticity_token=B2u5ULNr7IJ%2Fta0%2BhiAMBjmjEtTtc%2FyMAQQvSxFn2d0%3D] So I should be redirected to ''viewflokkur'', but nothing happens in my browser. Is there something else I need to do? BR, Sindri -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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.
Finally got it working, used this solution; <%= select_tag "cat_selected", options_for_select([''Flokkar mælitækis'']+@cats_for_mt), :onchange => ''window.location.href = "viewflokkur_from_select/" + this.selectedIndex''%> That gave me params[:id] = index-selected, so I created this new method viewflokkur_from_select wich gets @cats_for_mt[params[:id].to_i-1] and then redirects to viewflokkur with that value as params[:cat]. Not very pretty, and a whole lot uglier than I expected, but works... Thanks everyone for the suggestions! -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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, Try this if you wish to have your code clean : http://railscasts.com/episodes/88-dynamic-select-menus On Jun 13, 2:03 pm, Sindri Guðmundsson <li...-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> Finally got it working, used this solution; > > <%= select_tag "cat_selected", options_for_select([''Flokkar > mælitækis'']+@cats_for_mt), > :onchange => ''window.location.href = "viewflokkur_from_select/" + > this.selectedIndex''%> > > That gave me params[:id] = index-selected, so I created this new method > viewflokkur_from_select wich gets @cats_for_mt[params[:id].to_i-1] and > then redirects to viewflokkur with that value as params[:cat]. Not very > pretty, and a whole lot uglier than I expected, but works... > > Thanks everyone for the suggestions! > -- > Posted viahttp://www.ruby-forum.com/.-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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.