在foreach循环中,我有几个html块,如下所示:
<label class="">Replace image/poster:</label>
<input type="file" name="replaced_main_image" class="form-control-file-border input-image-preview" />
<!-- preview replaced main image -->
<br />
<label class="">Preview replaced image/poster:</label><br />
<img class="image-preview" width="100" src="#" /> <!-- preview image -->
对于刚上传的选定图像的预览,我使用以下代码:
// preview new selected image
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('.image-preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]); // convert to base64 string
}
}
$(".input-image-preview").change(function() {
readURL(this);
});
这可以正常工作,但是在这种情况下,每个带有class的img都可以img-preview
获取源代码。而且我只想要class下一个img img-preview
。
据我所知,我必须在函数中更改一行,应该看起来像:
reader.onload = function(e) {
find next --> $('.image-preview').attr('src', e.target.result);
}
我不知道什么是正确的语法。
这里:
$(input).nextAll('.image-preview').eq( 0 ).attr('src', e.target.result);
使用input
作为源,你传递给函数,然后找到所有未来.image-preview
,并限制它第一个与.eq( 0 )
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句