我正在尝试使用此处介绍的 Ajax 文件上传:http: //valums.com/ajax-upload/
如您所见,我需要创建一个 qq.FileUploader 对象来初始化脚本。但是,我需要能够在不知道元素 ID 的情况下动态创建这些对象。我试过创造这样的东西:
var uploader, i = 0;
$(".file-upload").each(function() {
$e = $(this);
i++;
uploader[i] = new qq.FileUploader({
element: $(this)[0],
action: 'uploadfile.php',
allowedExtensions: ['doc', 'docx', 'pdf'],
multiple: false,
onComplete: function(id, fileName, responseJSON) {
$($e).siblings('input').val(responseJSON.newfilename);
}
});
});
我了解到[i]
我添加的部分破坏了脚本,因为我不能在数组中包含对象。
还有另一种方法可以动态创建这些对象吗?它们都需要有一个唯一的名称,否则onComplete
函数会被所有函数覆盖。我尝试使用eval()
,但似乎无法使其正常工作。