我使用 BlueImp 插件上传我的文件。用户单击“添加文件”时会动态添加新的文件输入。
然后,当用户上传文件时,它会通过 AJAX 存储在我的 web 文件夹中。
我的第一个想法是在生成的 id 上调用 fileupload 方法(例如:$('#files_0').fileupload( { //ajax processing } );
但是这个解决方案不起作用,因为加载页面时输入不存在。
所以我需要类似的东西,$('#files_0').live('click, function ({ fileupload( { //ajax processing } ) )};
但这也不起作用。
所以我检查了文档和论坛,发现这是使用该fileInput
选项的解决方案。所以在这里我做了什么,但这不起作用..任何帮助都会很棒!
$('#myDiv').
fileupload(
{
fileInput : $('#files_0),
dataType: 'json',
url:'{{ path('MyBundle_ajax_upload_picture') }}',
progressall: function (e, data)
{
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progress + '%'
);
},
add: function (e, data)
{
$(this).fileupload('process', data).done(function () {
data.submit();
});
},
done: function (e, data)
{
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
},
always: function (e, data)
{
console.log(data);
}
});