【问题标题】: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
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