javascript - Rails & JS : Make panels generated by . 每个功能独立切换

标签 javascript jquery ruby-on-rails drop-down-menu

我一次只能使用下拉菜单时遇到问题。问题是我正在使用 .each 函数。因此,我不知道如何使每个下拉菜单都有一个特定的 id 或类,以便使我的 .click 函数在每个下拉菜单上单独运行。

这是我嵌入的 ruby​​ 文件:

<% @companies.each do |company| %>
<div class="panel panel-primary">
  <div class="panel-heading show_hide_panel"></div>
  <div class="panel-body panel">
   ....
  </div>
</div>
<%end%>

这就是我作为 JS 所拥有的:

$(".panel").hide();

$(".show_hide_panel").click(function(){
  $(".panel").slideToggle();
}); 

我的问题:我怎样才能使由 the.each 生成的每个面板独立地在单击时切换,而不是在仅单击一个时同时切换所有面板。

谢谢。如果我不够清楚,请告诉我。

最佳答案

JQuery 有一种方法可以做到这一点。基本上,您可以通过在函数中使用 $(this) 来获取您单击的元素。

在您的特定情况下,您单击panel-header,因此它在函数中变为$(this)。您想要打开 panel-body,因此选择其同级 $(this).siblings('.panel-body').slideToggle()。 完整代码:

$(document).on("click",".panel-heading", function () {

         $(this).siblings('.panel-body').slideToggle();
    });

关于javascript - Rails & JS : Make panels generated by . 每个功能独立切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32211553/

相关文章:

javascript - 对象部分的阴影未显示 - Three.js

javascript - 如何给vscode添加全局变量?

jquery - 添加徽章总数

ruby-on-rails - 在外键上添加索引如何工作?

ruby-on-rails - CGI::escapeHTML 正在转义单引号

mysql - 如何使用 Rails SQL 查询搜索 nil 结果

javascript - 手动输入url时location.hash问题,脚本不运行

c# - 在 winrt/xaml/c# 应用程序中动态评估 JavaScript 表达式

javascript - Canvas 地球在 12 次迭代后停止在 "spinning"。

javascript - 自动播放视频 IPhone 低功耗模式不起作用