I ended up creating an event binding according to Marc's suggestion
= simple_form_for task, :remote => true, :format => :js, :html => {:id => "task_#{task.id}_status"} do |f| = f.association :status, :label => false, :include_blank => false, :input_html => {:id => "task_#{task.id}_status_select" } :javascript jQuery(function($) { $(document).ready(function() { $("#task_#{task.id}_status_select").bind("change", function() { $.ajax({ type: "PUT", url: '#{project_story_type_story_task_path(@project, @story_type, @story, task)}', data: 'task[status_id]=' + $('#task_#{task.id}_status_select').val(), complete: function() { $('#task_#{task.id}_status').prepend("<span id='task_#{task.id}_success' class='label success right'>SAVED</span>"); $('#task_#{task.id}_success').delay(500).fadeOut(); } });
source share