Jquery文件上传不适用于Select2

时间:2014-11-12 13:01:45

标签: javascript knockout.js jquery-select2

我正在使用jquery文件上传 - Blue imp。 https://blueimp.github.io/jQuery-File-Upload/

当我要添加文件时,需要选择下拉转到select2

<script id="template-upload" type="text/x-tmpl">
    {% for (var i=0, file; file=o.files[i]; i++) { 
      %}
        <tr class="template-upload fade">

            <td>
                <select name="" placeholder="Select file name" class="select2_category form-control" tabindex="1">
                  <option value="Select file name"></option>
                  <option value="">CNIC</option>
                  <option value="">Birth Certificate</option>
                </select>
            </td>
        </tr>
    {% } %}
    </script> 

从模板添加文件按钮按钮生成。

Jquery文件上传为添加文件提供了api。

jQuery('#submit_form').bind('fileuploadadd', function(){
    jQuery("#submit-form-table select.select2_category").select2();

});

它与所有人一起工作。但最后一次迭代不会触发SELECT2

1 个答案:

答案 0 :(得分:1)

我认为问题是在添加每个文件时,但在模板中的元素实际添加到DOM之前,执行以下行:

jQuery("#submit-form-table select.select2_category").select2();

由于您使用的是带有jQuery文件上载的模板,我假设您使用的是UI版本。该版本增加了一个&#34; fileuploadadded&#34;事件。 (注意&#34; ed&#34;最后。)我认为你想绑定到那个事件,而不是&#34; fileuploadadd&#34;事件

来自documentation

  

添加回调相当于添加回调,并且   上传模板渲染后触发   过渡效应已经完成。