我已按照以下链接为我自己的脚本实现了示例。
Preview an image before it is uploaded
我有8个文件上传输入,后跟一个自己的img标签
<input type="file" name="file[]" accept="image/gif,image/jpeg" onchange="readURL(this,1);"/>
<img id="imagediv1" src="#" alt="your image" />
现在我修改了javascript
function readURL(input,cnum) {
if (input.files && input.files[0]) {
var reader = new FileReader();
var cimage = 'imagediv'+cnum;
reader.onload = function (e) {
$("#cimage")
.attr('src', e.target.result)
.width(150)
.height(200);
};
reader.readAsDataURL(input.files[0]);
} }
}
我做了警告();在javascript中,cimage var确实正确创建。 但是,img不会像在示例中那样改变。我确实尝试为每个imagediv#手动创建一个函数,它工作正常。
我错过了javascript中的内容吗?
答案 0 :(得分:1)
你需要从引号中取出“cimage”,而是将其连接到“#”:
$("#"+cimage)
或者,更好的是,根本不需要创建cimage
变量,只需执行此操作:
$("#imagediv" + cnum)
答案 1 :(得分:0)
更改您的选择器:
$("#" + cimage).attr("src", e.target.result).width(150).height(200);
您的选择器$("#cimage")
正在寻找id="cimage"
的元素。