0

私はこのスクリプトを持っています:

$.each($(this)[0].files, function(i, file){
        if (input.files && input.files[0]) {
            var reader = new FileReader();
            reader.onload = function (e) {
                $('#display_image').prepend("<img src='"+e.target.result+"' />");
            };
            reader.readAsDataURL(input.files[count]);
        }
        count++;

});

つまり、選択したすべてのファイルのパスを取得し、それをタグmultiple inputに追加するだけです。img

今私がやりたいのは、変数に等しいimgを与えることですidが、count私の問題は、メインeachループが終了した後に追加関数が実行されるため、常に同じ番号を取得することです。別の方法でそれを行う方法がわかりません...3, 3, 31, 2, 3reader.onload

4

2 に答える 2

1

さらにコードを投稿してください。以下を更新して修正できます。でも使いたいと思いますi

$.each(
   $(this)[0].files, 
   function(i, file){
      if (input.files && input.files[0]) {
         var reader = new FileReader();
         reader.onload = function (e) {
            $('#display_image')
               .prepend("<img id='" i + 
                  "' src='"+e.target.result+"' />"
               );
          };
          reader.readAsDataURL(input.files[i]);
    }

});
于 2012-02-11T21:43:02.480 に答える
0

シンプル:

    img_id = 0;
$.each($(this)[0].files, function(i, file){
        if (input.files && input.files[0]) {
++img_id;
            var reader = new FileReader();
            reader.onload = function (e) {
                $('#display_image').prepend("<img id='"+img_id+"' src='"+e.target.result+"' />");
            };
            reader.readAsDataURL(input.files[count]);
        }
        count++;

});
于 2018-04-12T23:16:38.583 に答える