【问题标题】:bootstrap not binding with dynamically rendered html via erb引导程序未通过 erb 与动态呈现的 html 绑定
【发布时间】:2016-04-28 10:00:28
【问题描述】:

我正在使用 Bootstrap 开发 Rails 应用程序。在我的一种观点中,我使用了“标签”:

<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item">
    <a class="nav-link active" data-toggle="tab" href="#home" role="tab" aria-controls="home">Home</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" data-toggle="tab" href="#profile" role="tab" aria-controls="profile">Profile</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" data-toggle="tab" href="#messages" role="tab" aria-controls="messages">Messages</a>
  </li>

</ul>

<div class="tab-content">
  <div class="tab-pane active" id="home"       role="tabpanel">...</div>
  <div class="tab-pane"        id="profile"    role="tabpanel">...</div>
  <div class="tab-pane"        id="messages"   role="tabpanel">...</div>
</div>

如果它是硬编码的 HTML,这可以正常工作。当我在“nav-tabs”项中动态添加一个额外的“li”时:

<% if @customer.profiles.present? %>
<% @customer.profiles.each_with_index  do |profile,index| %>
  <li class="nav-item">
    <a class="nav-link" data-toggle="tab" href="#profile<%=index%>" role="tab"> profile-<%=index%> </a>
  </li>
<% end %>
<% end %>

和“标签内容”中的“div”都具有唯一编号:

<% if @customer.profiles.present? %>
    <% @customer.profiles.each  do |profile,index| %>
        <div class="tab-pane" id="profile<%=index%>" role="tabpanel">
          <%= render :partial => 'profiles/homes_pane' , :locals => { :profile => profile}  %>
        </div>
    <% end %>
<% end %>

在 'href' 和 'id' 中添加,选项卡不再工作。

因此,Bootstrap 似乎没有将 javascript 绑定到动态生成的 HTML 元素。

我是做错了什么还是需要解决方法。欢迎提出任何建议。

最好的问候, 马丁

【问题讨论】:

    标签: javascript ruby-on-rails views erb bootstrap-4


    【解决方案1】:

    Bootstrap 不知道动态生成之间的区别,因为它是客户端进程。

    您的标签内容 sn-p 上似乎缺少 each_with_index。

    如果您使用元素检查器,我想您会看到第二部分的索引显示不正确。

    【讨论】:

    • 谢谢!完全忽略了这个错误的语法。它解决了问题。
    • 太棒了。很高兴它有帮助。
    猜你喜欢
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 2021-01-18
    • 1970-01-01
    相关资源
    最近更新 更多