无法使用for循环追加带有多个图像的div

时间:2014-05-21 21:00:13

标签: jquery filereader

我只是尝试附加一个包含多个图像的div,我的代码是:

$('#imagess').change(function()
    {
        var leng=this.files.length;
        var reader=new FileReader();
        for(i=0; i<leng;i++)
        {
            reader.onload=function(e)
            {
                //alert('<img src='+e.target.result+'/>');
                $('#blah').append('<img src='+e.target.result+' width=60 height=60 />');
                //$('#blah').attr('src', e.target.result);
            }
            reader.readAsDataURL(this.files[i]);
        }


    });

它只显示一张图片......

1 个答案:

答案 0 :(得分:2)

您正在创建一个阅读器并一遍又一遍地使用它。尝试每次迭代创建一个新的:

$('#imagess').change(function()
{
    var leng=this.files.length;        
    for(i=0; i<leng;i++)
    {
        var reader=new FileReader();
        reader.onload=function(e)
        {
            //alert('<img src='+e.target.result+'/>');
            $('#blah').append('<img src='+e.target.result+' width=60 height=60 />');
            //$('#blah').attr('src', e.target.result);
        }
        reader.readAsDataURL(this.files[i]);
    }


});