rails and javascript


I want to add a dropdown selection box that when an item is selected a javascript function gets called, is there an easy way to do this with Rails?


Sure, though it's not Rails-specific; just use the onchange attribute. See:

onchange Event

for an intro to the concept.


There are a few ways to do this. If you are looking for an ajax response you can do the following:

(this is an example with a new action)

<%= form_for Model.new, :remote => true do |f| %>

<div>Your Label</div> <div>   <%= f.collection_select(:some_id, Model.all, :id, :name, :class => 'yourclass' %> </div>

<% end %>

Then in your javascript do something similar to:

$('select#model_some_id').bind({   click:function () {     // do something when it's clicked   },   keydown:function () {     // do something when a key is pressed down in the select   },   keyup:function () {     // do something when a key is pressed up in the select   } });

This handles most of the browser events you'll find in Mozilla, IE, Safari, etc. as far as handling events. Some change events are not noticed by Mozilla (for instance if someone is using drop down arrows while in a select field).

There are quite a few ajax tutorials out there.

Hi thanks,

this is exactly what I was looking for, a solution using jQuery to bind a function. Still green on ajax, so your example was very useful and also the link provided above for a javescript refresher on events.