【问题标题】:pass selected drop down value as params in rails link_to将选定的下拉值作为参数传递给 rails link_to
【发布时间】:2013-11-11 07:48:33
【问题描述】:

我有一个填充部门名称列表的选择标签,当我从下拉列表中选择一个值时,我需要在下面显示一个编辑链接 (link_to) 并将下拉列表的选定值附加为 id 参数。(我不是为这个单选标签使用表单,因为我不需要在我的数据库中保存值)。这怎么可能。请帮忙。我正在使用 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" %>

【问题讨论】:

  • 你可以做一件事,改变select的值,通过javascript改变链接的id。我认为这很容易。

标签: javascript ruby-on-rails-2


【解决方案1】:

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 回调传递的相同函数来进行设置(假设可能在加载时选择其中一项)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    相关资源
    最近更新 更多