我是查看表单,此表单有:
<%= link_to day, root_path(:day => day), :id => 'link', :class => 'active_link' %>
此链接使用day参数重新处理此表单,并使用此参数呈现此表单上的项目。我希望在点击此链接之后,重新渲染表单 - 删除“active_link”类。我该怎么做?
P.S:这是项目的链接(收集日期项目)。
答案 0 :(得分:1)
这是一个视图逻辑问题,而不是JavaScript / jQuery问题。您正在使用普通链接更改day参数并重新呈现整个页面。基于您向我们展示的唯一代码行,我猜测您的视图会循环显示一堆日期并为每个日期打印一个链接。问题是,您要将active_link
类分配给视图中的所有日期链接。在页面加载后,在浏览器中使用jQuery“修复”此问题是错误的方法;而是修复您的视图逻辑,只将active_link
类分配给一个正确的链接(并抛弃非唯一的'链接'ID)。
在您的控制器中:
@active_day = params[:day]
在您看来:
<% days.each do |day| %>
<%= link_to day, root_path(:day => day), :class => (day == @active_day ? 'active_link' : '') %>
<% end %>
显然,您需要调整一些代码才能在您的应用中运行 - 您没有为我编写足够的代码来编写有效的代码解决方案。
答案 1 :(得分:0)
你可以这样做:
$('a.active_link').click(function(){
$(this).removeClass('active_link');
});
我不是ruby的专家,但如果您的链接呈现为
,则此功能正常<a id='link' class='active_link'></a>