2012-11-02 1 views
3

다음 코드에서 색인 값을 가져 오는 방법은 무엇입니까?BlueImp Jquery Upload - data.files에서 색인 얻기

add: function (e, data) { 
    $.each(data.files, function (index, file) { 
     alert('Added file: ' + index + " -- " + file.name); 
}); 

(3) 파일이 있어도 INDEX는 항상 (0)을 반환합니다. FILE.NAME이 작동하고 all ​​(3) 파일을 볼 수 있습니다. dog.jpg

  • 추가 된 파일 - 0 : 0 - cat.jpg
  • 추가 파일 : 0 - honeybadger.jpg
    • 추가 파일 :

      는 출력했다

      • 추가 Fi를 :

      내가에/원하는 결과를 기다리고 있었다 무엇인가 제작 : 0 - dog.jpg
    • 추가 파일 : 1 - cat.jpg
    • 추가 파일 : 2 - 디버깅 후 honeybadger.jpg

    ,이 양식을 제출 한 것 같습니다 (3) 번 때문에 각 파일에 대해 (0)을 얻습니다. 또한 GIT WIKI에서 코드를 복사했지만 행운은 없습니다.

    BlueImp 전문가가 도움을 얻을 수 있습니다.

    UPDATE 코드 : 코드 아래 이제 각 인덱스

    $('#fileUpload1').fileupload(
    { 
        replaceFileInput: false, 
        dateType: 'json', 
        url: 'Handlers/AjaxFileHandler.ashx', 
        singleFileUploads: false, 
        autoUpload: false, 
        add: function (e, data) { 
         $('#upLoadButton').click(function() { 
          $.each(data.files, function (index, file) { 
           alert('Added file: ' + index + " -- " + file.name); 
    
           var v = $('input[data-id=' + index + ']').val(); 
           var d = $('select[data-id=' + index + ']').val(); 
           alert('textField:' + v + ' selected: ' + d);    
          }); 
    
          data.submit(); 
    
         }); 
        }, 
    }); 
    
    }); 
    
    +1

    .. ?? : 아래 예와 같이 당신이 원하는 것을 얻기 위해 거짓으로 singleFileUploads을 설정해야 –

    +0

    해당 HTML 개체> 파일 (입력 형식 = 파일) : http://www.alltechtips.com/html/objects/input_file.html –

    답변

    3

    올바르게 Add 방법 함수 콜백을 사용하지 않는 반환한다. 사실이 이벤트는 각 단일 파일에 대해 기본적으로 실행됩니다. 파일의 배열이 아닌 파일을 나타내는 데이터. data.files처럼 어떻게 보는가

    $('#fileupload').fileupload({ 
         previewSourceMaxFileSize: 0, 
         acceptFileTypes: /(\.|\/)(gif|jpe?g|png|bmp|svg|wmv|avi|mpe?g|mp4|ppt|pps)$/i, 
         global:false, 
         singleFileUploads:false, //set this to false to handle multi files upload behaviour 
         add:function (e, data) { 
          $.each(data.files, function (index, file) { 
           alert('Added file: ' + index + " -- " + file.name); 
          }); 
         }, 
         autoUpload: false 
        }); 
    
    +0

    위의 코드는 작동하지만 업로드가 발생하면 3이 업로드됩니다. 위의 업데이트 된 코드를 참조하십시오. –