这BlueImp插件使用另一个jQuery插件称为Templates engine从JavaScript生成HTML。他们恰巧使用了与Smarty相同的语法,这似乎正在破坏你的代码。但是,BlueImp插件允许您通过手动将HTML定义为插件选项来覆盖此模板语言。你的JavaScript看起来是这样的:
$('#fileupload').fileupload({
filesContainer: $('#upload_files_container'),
uploadTemplateId: null,
downloadTemplateId: null,
uploadTemplate: function (o) {
var rows = $();
$.each(o.files, function (index, file) {
var row = $('
' +'
' +'
' +'
' +(file.error ? '
' :'
'
'
Start') + '
Cancel');row.find('.name').text(file.name);
row.find('.size').text(o.formatFileSize(file.size));
if (file.error) {
row.find('.error').text(
locale.fileupload.errors[file.error] || file.error
);
}
rows = rows.add(row);
});
return rows;
},
downloadTemplate: function (o) {
var rows = $();
$.each(o.files, function (index, file) {
var row = $('
' +(file.error ? '
' +'
' :'
' +'
' +'
') + '
Delete ' +'
');row.find('.size').text(o.formatFileSize(file.size));
if (file.error) {
row.find('.name').text(file.name);
row.find('.error').text(
locale.fileupload.errors[file.error] || file.error
);
} else {
row.find('.name a').text(file.name);
if (file.thumbnail_url) {
row.find('.preview').append('')
.find('img').prop('src', file.thumbnail_url);
row.find('a').prop('rel', 'gallery');
}
row.find('a').prop('href', file.url);
row.find('.delete button')
.attr('data-type', file.delete_type)
.attr('data-url', file.delete_url);
}
rows = rows.add(row);
});
return rows;
}
});
See their documentation。这将允许您在不使用Smarty语法的情况下生成HTML。