jQuery文件上传把手模板消失了

时间:2013-10-23 14:58:07

标签: jquery handlebars.js jquery-file-upload

我使用handlebars.js作为我的jQuery文件上传模板引擎,当我上传文件时,它在屏幕上闪烁然后完全消失,甚至没有隐藏在dom中。

我的JavaScript:

$('#photo-uploader').fileupload({
    acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
    autoUpload: true,
    maxFileSize: 5000000,
    url: '/member/property/ajaxUpload',
    filesContainer: $('.files'),
    uploadTemplateId: null,
    uploadTemplate: function(o) {
        var rows = $();
        $.each(o.files, function(index, file) {
            var source = $('#photo-upload').html();
            var template = Handlebars.compile(source);
            var data = {o: o, file: file};
            var template = template(data);

            var row = $(template);

            rows = rows.add(row);
        });

        return rows;
    }
});

把手模板:

<script id="photo-upload" type="text/x-handlebars-template">
    <li class="template-upload upload-thumbs img-thumb">
        <span class="preview"></span>
        <a href="#" class="delete-image">Delete</a>
        <a href="#" class="view-image">View</a>
        <h3>Title <em>Click to edit</em></h3>
    </li>
</script>

如果我将uploadTemplate方法替换为示例中的方法,那么对象中唯一不同的就是标记。

https://github.com/blueimp/jQuery-File-Upload/wiki/Template-Engine

1 个答案:

答案 0 :(得分:1)

fade类添加到<li>,因为jQuery文件上传使用Bootstrap来显示/隐藏元素