获取附加到Fine Uploader的元素的div ID

时间:2013-07-13 16:13:58

标签: jquery html5 file-upload fine-uploader

我正在使用fineuploader 3.2版。我在这个

的单个HTML页面上嵌入了多个fineuploader实例
<div id="file-uploader_1" class="uploader">
<div id="file-uploader_2" class="uploader">

这就是我如何附加fineuploader

$('.uploader').fineUploader({
request: {
    endpoint: './uploadfile',
    params: {
    imageid: function() {
        return this.id;
     }
    }
},
multiple: false,
validation: {
    allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'],
    sizeLimit: 551200 // 50 kB = 50 * 1024 bytes
},
text: {
    uploadButton: 'Changepic'
}
}).on('complete', function(event, id, fileName, responseJSON) {
if (responseJSON.success) {
    imgs[this.id]="data:image/jpg;base64,"+ data;
}
});

我想将附加到fineuploader的div的id传递给fileupload请求。但是我看到了#undefined&#39;在任何地方都会被退回。这个。&#39;被引用。我也试过使用this.attr(&#39; id&#39;)而得到一个错误&#34; Uncaught TypeError:Object#没有方法&#39; attr&#39; &#34 ;.

我在这里发现了一个类似的问题(FINEUPLOAD pass the ID as parameter),但解决方案似乎太粗糙了。有人可以提出更好的解决方案,而不是重复相同的代码吗?

1 个答案:

答案 0 :(得分:5)

您可以遍历元素并在每个元素上调用fineUploader,检索流程中的每个ID:

$('.uploader').each(function() {
  var uplId= $(this).prop("id");
  $(this).fineUploader({
    request: {
        endpoint: './uploadfile',
        params: {
        imageid: function() {
            return uplId;
         }
        }
}
...
});