javascript - 在 Rails 应用程序中单击更改 div 类

标签 javascript ruby-on-rails

我有一个 Rails 应用程序,它按行显示步骤和子步骤。我希望创建一个操作,点击步骤行会将其类从“step_container”更改为“step_container active”,然后显示该步骤的相应子步骤行。我很难弄清楚如何使用 AJAX(或了解这是否是最好的工具)来完成此任务。

<% @steps.each do |step| %>
      <div class="step_container"> <!-- add 'active' if clicked-->
        <div class="medium-8 columns"><!-- add 'active_container' if clicked-->
          <div class="medium-5 columns step_info">
            <div class="step_number">
              <span><%= step.order %></span>
            </div>
            <div class="custom_step">
              <span class="step_title"><%= step.title %> (custom step)</span>
              <span class="step_desc"><%= step.description %></span>
            </div>
          </div>
        </div>

        <!-- Only show this div if top div is clicked -->
        <div class="medium-4 columns sub_steps_container">
          <% @substeps.where(step_id: step.id).each do |substep| %>
                  <div class="sub_steps">
                    <div class="step_number">
                      <span><%= substep.order %></span>
                    </div>
                    <div class="">
                      <span class="step_title"><%= substep.action %></span>
                      <span class="step_desc"><%= substep.description %></span>
                    </div>
                  </div>
          <% end %>
        </div>
      </div>
  <% end %>

在此先感谢您的帮助。这花了我一天的大部分时间,但结果有限。

最佳答案

这里不需要AJAX,只需要一点javascript和css。

JavaScript:

$('.step_container').click(function() {
  $(this).addClass('active');
}

CSS(萨斯):

.step_container {
  .sub_steps_container {
    display: none;
  }

  &.active {
    .sub_steps_container {
      display: block;
    }
  }
}

关于javascript - 在 Rails 应用程序中单击更改 div 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34278392/

相关文章:

javascript - getstream laravel 与 Streamjs 实时通知

javascript - 使用angular ui-sortable和angularfire有没有办法在排序时将新订单保存到数据库?

ruby-on-rails - 如何确保 Rails 服务器运行

ruby-on-rails - ruby on Rails 模型中的 << 是什么

ruby-on-rails - 呈现带有错误和文件输入的表单

ruby-on-rails - 在单个 Rails 应用程序中使用多个数据库系统和 ORM 是个好主意吗?

javascript - 如何方便、安全地分发脚本?

javascript - jsRender for in for,但是针对2种不同的结构

javascript - 如何从通用 javascript 引用 React 类

ruby-on-rails - 如何在 Rails 4 中使用 typeahead.js 作为 Bower 组件