我正在构建一个 ASP.NET MVC 应用程序,并且正在使用jQuery Blueimp https://github.com/blueimp/jQuery-File-Upload动态添加到页面的 PartialView 上的插件。
根据插件的文档我需要这样做:
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
});
但这当然不适用于我的情况,因为我的 PartialView 一开始并不存在于页面上。
所以我的问题是,如何获取动态添加的文件输入并初始化.fileupload
在上面。我已经按照Archer的建议尝试了以下方法,但它不起作用:
$(function () {
$('#campaign-form-wrap').on("change", "#fileUpload", function () {
$('#fileUpload').fileupload({
dataType: "json",
url: "/ZenosIntranet/Campaign/ConvertExcelToVehicleDriverSummariesJson",
limitConcurrentUploads: 1,
sequentialUploads: true,
maxChunkSize: 10000,
done: function (e, data) {
$.each(data.results, function() {
alert("boo");
});
}
});
});
});
我还确保我按照答案中的建议对脚本进行了正确的排序这个问题 https://stackoverflow.com/questions/10079670/unable-to-get-blueimp-jquery-fileupload-plugin-to-work。但还是没去。我现在收到以下错误:
未捕获的类型错误:对象 [object Object] 没有方法“fileupload”
UPDATE:我认为上面的语法是不正确的,因为即使我这样做this.siblings()
在 Chrome 的控制台中,我收到错误:
类型错误:对象#没有方法“兄弟姐妹”
这向我表明代码认为我的 this 对象有一个名为siblings 或 fileupload 的方法 - 但它们是吗?我知道在文件上传的情况下我想将其附加到该控件。