将选定的下拉值作为rails link_to中的params传递

时间:2013-11-11 07:48:34

标签: javascript ruby-on-rails-2

我有一个select标签,用于填充部门名称列表,当我从下拉列表中选择一个值时,我需要在下面显示一个编辑链接(link_to)并将选定的下拉值附加为id params。(我不是使用这个单一选择标签的形式,因为我不需要在我的数据库中保存值)。这怎么可能。请帮忙。我正在使用rails2.3

我尝试过以下但是没有用。

  Select A Dept
    <%=select :select_dept, :dept, @dept.map{|dept| [dept.full_name, dept.id]},{:prompt => "#{t('select_a_batch')}"} %>
     <%= link_to "Display", {:controller => "user", :action => "display_value", :id => $('#select_dept').val() } ,:class => "button" %>

1 个答案:

答案 0 :(得分:0)

Gopal走在正确的轨道上。

为链接指定ID,以便您可以选择

<%= link_to 'Display", {:controller ...}, :class => 'button', :id => 'display_link' %>

默认使用CSS隐藏

#display_link { display:none; }
#display_link.showing { display:block; }

然后在javascript中,执行类似

的操作
$('#select_dept').on('change', function(ev) {
   var deptId = $(this).find(':selected').val();
   var newPath = '/users/' + deptId + '/display_value';
   $('#display_link').attr('href', newPath);
   $('#display_link').addClass('showing');
});

这不会在页面加载时进行设置,但是你可以运行你在页面加载时作为change回调传递的相同功能进行设置(假设在加载时可能选择了其中一个项目) )。