如何解决Rails和jQuery:单击后删除类
|| 我喜欢这种形式,这种形式有:<%= link_to day,root_path(:day => day),:id => \'link\',:class => \'active_link\' %>
此链接使用day参数修改此表单,并使用此参数呈现此表单上的项目。我希望在单击此链接后,重新呈现表单后-类“ active_link \”被删除。我该怎么做?
附言:这是项目的链接(集合中的日项目)。
解决方法
这是一个视图逻辑问题,而不是JavaScript / jQuery问题。您正在使用普通链接来更改day参数并重新呈现整个页面。根据您显示给我们的唯一代码行,我猜您的视图在一系列日期中循环,并为每个日期打印出一个链接。问题是,您正在将“ 1”类分配给视图中的所有日链接。页面加载后在浏览器中使用jQuery修复此问题是错误的方法;而是将您的视图逻辑固定为仅将ѭ1类分配给一个正确的链接(并放弃非唯一的\'link \'ID)。
在您的控制器中:
@active_day = params[:day]
您认为:
<% days.each do |day| %>
<%= link_to day,root_path(:day => day),:class => (day == @active_day ? \'active_link\' : \'\') %>
<% end %>
显然,您需要调整一些代码才能在您的应用中使用-您没有显示足够的代码让我编写有效的代码解决方案。
, 你可以做:
$(\'a.active_link\').click(function(){
$(this).removeClass(\'active_link\');
});
我不是红宝石专家,但是如果您的链接呈现为
<a id=\'link\' class=\'active_link\'></a>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。