2013-07-13 2 views
2

fineuploader 버전 3.2를 사용 중입니다. 나는이파인 업로더에 부착 된 요소의 ID를 가져옵니다.

<div id="file-uploader_1" class="uploader"> 
<div id="file-uploader_2" class="uploader"> 

처럼 하나의 HTML 페이지에 포함 된 fineuploader의 여러 인스턴스를 그리고 이것은 내가이 파일 업로드에 fineuploader에 첨부 된 사업부의 ID를 전달하려는

$('.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 부착하는 방법입니다 의뢰. 그러나 'this.id'가 참조 된 곳이면 'undefined'가 반환됩니다. 나는 또한 this.attr ('id')를 대신 사용하여 에러를 얻었습니다. Uncaught TypeError : Object # 'attr'메서드가 없습니다. "

그러나 비슷한 해결책을 찾지 못했습니다 (FINEUPLOAD pass the ID as parameter). 누군가가 동일한 코드를 반복하는 것이 아니라 더 나은 해결책을 제안 할 수 있습니까?

답변

4

당신이 할 수있는 요소를 통해 루프 과정에서 각각의 ID를 검색, 각 fineUploader 전화 :

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

너무 감사합니다! 매력처럼 작동합니다. – user1140448

관련 문제