jquery - 在 jQuery 切换它之后,将 div 放置在特定的动态 Rails 元素旁边

标签 jquery css ruby-on-rails

在我的 Rails 应用程序中(我应该注意到,它使用的是 Bootstrap 的网格系统),我在左栏中显示了一篇博文。在右栏中,我使用 jQuery 切换效果打开一个快速表单(例如用户可以发表评论的地方)。

为了激活此表单,我使用我的 jQuery 在单击段落标记时切换它,现在可以正常工作了。但是,ID 为 #exampleToggle 的表单将发布到列的最顶部。

问题:如果我想让 form/exampleToggle 不仅切换到被单击的段落标记,而且切换到 next 怎么办?

<div class="col-md-8">
    <% @posts.each do |post| %>
            <h2 id="title"><%= post.title %></h2>
            <p id="category"><%= post.category %></p>
            <div id="text"><%= markdown(post.content) %></div>    
    <% end %>
</div> 

<div class="col-md-4">
<div class="exampleToggle">
    <%= form_for :cements do |f| %>
        <div class="form-group">
        <div class="field">
        <%= f.label :username %><br>
        <%= f.text_field :username, class: "form-control" %>
            </div>
            </div>

        <div class="form-group">
        <div class="field">
        <%= f.label :post %><br>
        <%= f.text_area :post, class: "form-control" %>
      </div>
      </div>

<div class="actions">
    <%= f.submit "Save", class: "btn btn-success-outline" %>
</div>
<% end %>
</div>

<script>

    $(document).ready(function(){
        $( ".exampleToggle" ).hide();

        $("p").click(function(){
            $(".exampleToggle").toggle();
            });
    });

</script>

当然,如果我的页面是静态的,这会相当容易。假设我有三个段落标签:我可以使用网格系统创建“行”,并在单击正确的 id 选择器时在该行中发布表单。

由于这是动态内容,因此 Rails 循环中可能有任意数量的段落,该解决方案无效。

此外,如果有更智能的方法,我完全可以不使用 Bootstrap 网格。我现在的推理是,我在右侧创建了一个用于放置表单的列空间——我只需要找到一些方法来在单击时将 exampleToggle 有效地放置在关联的段落标记旁边.

这可能吗?

最佳答案

显然,这在很大程度上取决于您计划如何填充这些弹出框,但下面是一个示例,说明如何使用 jQuery 进行追加,并通过 CSS 根据单击的元素定位。

$(document).ready(function(){
  $("p").click(function(){
    $(this).append("<div class='pop-out'>populate this dynamically</div>");
  });
});

然后:

p {
  position: relative;
}

.pop-out {
  position: absolute;
  top: 0;
  left: 100%;
  width: 100px;
  height: 100px;
}

如果您可以创建一个示例 JSFiddle,我可以从那里帮助解决任何问题。

关于jquery - 在 jQuery 切换它之后,将 div 放置在特定的动态 Rails 元素旁边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38536891/

相关文章:

jquery - CSS3 动画与 jQuery

ruby-on-rails - 您如何使用Ruby on Rails 4.1.0beta1管理 secret key 和heroku?

ruby-on-rails - Rails Associations - 强大的参数构建

javascript - jQuery UI 对话框关闭时刷新父页面

javascript - Typescript 集合未初始化

javascript - 覆盖 JqGrid 标题单击或实现 JqGrid 标题双击

jquery - jQuery .removeClass() 没有做任何事情的奇怪问题

Css Sprite 和定位

ruby-on-rails - 无法理解 rails activerecord typecast 的原因

javascript - 如果在手机中打开菜单,如何停止主体滚动?