【发布时间】:2018-05-16 10:22:52
【问题描述】:
我动态创建引导选项卡,每个选项卡都有一个partial
<ul class="nav nav-tabs" id="tabs-from-locales" role="tablist">
<% @locales.each_with_index do |locale, i| %>
<li class="nav-item">
<a class="nav-link <%= 'active' if i == 0 %>"
id="<%= locale.downcase %>-locale-tab"
data-toggle="tab" href="#<%= locale.downcase %>"
role="tab"
aria-controls="<%= locale.downcase %>"
aria-selected="true"><%= locale %></a>
</li>
<% end %>
</ul>
<div class="tab-content" id="tabs-from-locales-content">
<%= @locales.each_with_index do |locale, i| %>
<div
class="tab-pane fade <%= 'show active' if i == 0 %>"
id="<%= locale.downcase %>"
role="tabpanel"
aria-labelledby="<%= locale.downcase %>-tab"> A + <%= i %> <%= render 'form' %> </div>
<% end %>
</div>
部分是一个form,它有另一个带有dropzone div的部分。
<%= form_with(:id => 'my-form', model: [:admin, @island], local: true,
html: {id: 'myForm'}) do |f| %>
....
....
<div class="form-group">
<%= render partial: 'shared/dropzone', locals: {upload_url: admin_pictures_path, thumbnail_urls: @thumbnail_urls} %>
</div>
<%= f.submit class: 'btn btn-primary' %>
<% end %>
dropzone 部分包含 dropzone 设置。
Dropzone 在第一个选项卡上正常工作,但在其他选项卡上它似乎没有被初始化并且fallback div 是可见的。
我有一个 js 文件,用于初始化和配置我的 dropzone 设置。
document.addEventListener("turbolinks:load", function () {
if (document.getElementById('picture_dropzone')) {
console.log("element found.")
Dropzone.autoDiscover = false;
// noinspection JSUnusedGlobalSymbols
var pictureDropzone = new Dropzone('div#picture_dropzone', {
....
....
}
知道为什么dropzone 无法在其他选项卡上初始化吗?
【问题讨论】:
标签: javascript jquery ruby-on-rails twitter-bootstrap dropzone.js