2013-10-23 1 views
1

저는 Ajax 양식 플러그인을 사용하고 있으며 여러 요청을 보내기위한 루프가 있습니다. 각 파일의 개별 진행을 얻으려고합니다. 작동하는 것 같지만 파일의 진행은 코드의 마지막 <p>에만 표시됩니다. 이 개 파일에 대한다중 진행 상태 + Ajax 양식 플러그인

for (var i = 0; i < inp.files.length; i++) { 
$('form').ajaxSubmit({ 
beforeSend: function() { 
    $('body').append('<p class="c'+ i +'"></p>'); 
    var classe = '.c' + i; 
}, 
uploadProgress: function(event, position, total, percentComplete) { 
    var percentVal = percentComplete + '%'; 

    $(classe).append(percentVal); 
    //console.log(percentVal, position, total); 
} 
}); 
} 

HTML 출력 :

<p class="c0"/> 
<p class="c1"> 
79% 
100% 
81% 
100% 
</p> 

이 두 파일의 진행을 얻을 것으로 보인다 두 100%있다. 하지만, 마지막 요소에 인쇄됩니다. 감사합니다

답변

1

c0의 응답 전에 c1로 변경되었으므로 ... 익명 기능에 넣으십시오.

for (var i = 0; i < inp.files.length; i++) { 
    (function() { 
     var classe = '.c' + i; 
     $('form').ajaxSubmit({ 
      beforeSend: function() { 
       $('body').append('<p class="c' + i + '"></p>'); 
      }, 
      uploadProgress: function (event, position, total, percentComplete) { 
       var percentVal = percentComplete + '%'; 

       $(classe).append(percentVal); 
       //console.log(percentVal, position, total); 
      } 
     }); 
    }()); 
} 
(시험하지 않음)

또는 당신은 마법처럼

+0

작품을 동기화 할 수있는 Ajax 요청을 변경해야합니다. 설명 주셔서 감사합니다! –