【问题标题】:Dynamically changing Ruby-on-Rails variables in a view在视图中动态更改 Ruby-on-Rails 变量
【发布时间】:2011-08-03 09:08:22
【问题描述】:

我有以下select_tag

<%= select_tag :days, options_for_select(["Monday", "Tuesday"]) %>  

在某个地方,我在视图中定义了以下变量。

<% @day_of_week = "Monday" %>

并展示了它:

<%= @day_of_week %>

我想在从select_tag 中选择一个值后动态更改@day_of week

【问题讨论】:

  • 你应该使用javascript,这里都是客户端。

标签: javascript html ruby-on-rails ruby-on-rails-3 ruby-on-rails-plugins


【解决方案1】:

您可以为此使用 jquery。

将此添加到您的 html 文件的头部(如果您还没有 jquery):

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>

像这样包装你的文本,给它一个 id:

<div id="text_to_be_changed"><%= @day_of_week %></div>

为您的 SELECT 选项卡指定一个特定的 ID(如果 #days 由于某种原因不起作用)。

<%= select_tag :days, options_for_select(["Monday", "Tuesday"]), :id => "select_days" %>  

然后将这个不显眼的 JavaScript 添加到视图的末尾。 对 select#days 的任何更改都会触发对 div#text_to_be_changed 的​​ html 的修改。

<script>
$(document).ready(function(){
    $('#select_days').change(function() {
        $('#text_to_be_changed').html($(this).val());
    });
});
</script>

【讨论】:

    【解决方案2】:

    您想显示从选择标签中选择的日期用户吗?.. 使用不显眼的 JavaScript。就这么简单

    $('#days').change(function() {
      $('#current_day').html(this.val());
    });
    

    其中 'days' 是选择标签的 id 和 'current_day' 将是您要显示选定日期的 div 的 id

    【讨论】:

    • 我在
    猜你喜欢
    • 2018-01-21
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多