При первой загрузке файлов:
console.log -> " Object { length: 0, prevObject: Object[1] }";
При повторной загрузке файлов:
console.log -> "Object { 0: <a.remove>, length: 1, prevObject: Object[1] }";
В обоих случаях шаблон успешно рендерится.
<form class="add" action="/admin/post_add" method="post" enctype="multipart/form-data">
<input id="processImageUpload" name="process_img[]" type="file" accept="image/jpeg" multiple>
</form>
function AddFilesT (setting){
this.input = setting.input;
this.template = _.template(setting.template);
this.run();
}
AddFilesT.prototype.run = function () {
var input = this.input,
template = this.template,
removeFile = this.removeFile;
input.change(function (e) {
var files = e.target.files;
$.each(files, function (i, file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
input.after(template({
url : reader.result,
data : i
}));
};
});
removeFile();
});
};
AddFilesT.prototype.removeFile = function () {
console.log($('a.remove'))
};
var multiUpload = new AddFilesT({
input : $('#processImageUpload'),
template : "<img src='<%= url %>'>"
+ "<a href='#' class='remove' data-remove='<%= data %>'>Удалить</a>"
});