Jquery rails中的Ajax日历更新
我有一个事件数据库,我希望它显示“今天的事件” 我让那部分工作。在页面底部我有一个日历,当你点击日期时,我希望它更新列出的事件以显示新的日期 我现在有Jquery rails中的Ajax日历更新,jquery,ruby-on-rails,ajax,ruby-on-rails-3,Jquery,Ruby On Rails,Ajax,Ruby On Rails 3,我有一个事件数据库,我希望它显示“今天的事件” 我让那部分工作。在页面底部我有一个日历,当你点击日期时,我希望它更新列出的事件以显示新的日期 我现在有 <% date = Date.current %> <% @events.each do |event| %> <% if event.eventdate === date %> <%= event.title %><br> <% end %> <% end %
<% date = Date.current %>
<% @events.each do |event| %>
<% if event.eventdate === date %>
<%= event.title %><br>
<% end %>
<% end %>
例如,按钮是
<button type="submit" id="dateChange" value="01-01-2013">January 1</button>
1月1日
jQuery是
$(document).ready(function() {
$('#setdate').html("<% date = Date.tomorrow %>")
});
});
$(文档).ready(函数(){
$('#setdate').html(“”)
});
});
将html更新到明天(作为测试)
两个问题->如何使其更新列出的实际事件,以及如何提取按钮的值并将其用作日期变量
也不确定在我的控制器中要做什么,它只是一个索引函数。让您的控制器响应JS请求,并将标记生成保留在部分中,这样您就可以轻松地渲染该部分。此外,您还需要确保您的链接/按钮的远程属性设置为true,否则它将无法工作 这里有一个例子,我还没有测试过它,但它应该可以工作 index.html.erb
<div id="events">
<%= render( 'events_list' ) %>
</div>
<% date ||= Date.current %>
<% @events.each do |event| %>
<% if event.eventdate === date %>
<%= event.title %><br>
<% end %>
<% end %>
<%= link_to "#{date.tomorrow}", events_path({:date => date.tomorrow}), :remote => true %>
...
def index
@events = Event.all
@next_date = params[:date]
respond_to do |format|
format.html
format.js # By default this will look for views/events/index.js.erb
end
end
...
$('#events').html("<%= escape_javascript render( 'events_list', :date => @next_date ) %>");
index.js.erb
<div id="events">
<%= render( 'events_list' ) %>
</div>
<% date ||= Date.current %>
<% @events.each do |event| %>
<% if event.eventdate === date %>
<%= event.title %><br>
<% end %>
<% end %>
<%= link_to "#{date.tomorrow}", events_path({:date => date.tomorrow}), :remote => true %>
...
def index
@events = Event.all
@next_date = params[:date]
respond_to do |format|
format.html
format.js # By default this will look for views/events/index.js.erb
end
end
...
$('#events').html("<%= escape_javascript render( 'events_list', :date => @next_date ) %>");
$('#events').html(@next_date)%>”;
试试看,让我知道。你知道我如何创建一个变量,其中包含eventdate===date,我猜你的应用程序使用的是数据库,所以我会开始查看rails文档中的模型和查询界面:例如,你可以在模型中声明一个范围来获取某个日期的所有事件。