I am just learning Ruby.
I created a simple application where an record is added from a “new”
view. Some input fields are defined as a select option (using a
helper). Now I want to add a Javascript function with “onclick”
function. How can I do it?
Helper:
module MypagesHelper
def my_pictures
pictures = [ ‘pic1’, ‘pic2’, ‘pic3’, ‘pic4’,‘pic5’,‘pic6’ ]
pictures_list = pictures.sort
pictures_list.collect{|l| l}
end
end
View:
<% form_for(@mypage) do |f| %>
<%= f.error_messages %>
I want to add a Javascript function with “onclick”
function. How can I do it?
<%= f.select :backgroud_picture, my_pictures %>
You probably don’t want onClick; onChange is more likely to be more
usable with a select box, but either way, just add it to the f.select
(here’s an example I’ve used with a select_tag, but the principle’s
the same) :
You probably don’t want onClick; onChange is more likely to be more
usable with a select box, but either way, just add it to the f.select
(here’s an example I’ve used with a select_tag, but the principle’s
the same) :
The onClick event is inconsistent between browsers when used on a select
tag.
However, that being said, it’s time to start using Unobtrusive
JavaScript (UJS) techniques. It’s the way Rails 3 does it, and it’s time
for us all to start doing it.