Jquery append oly获取循环Rails中的最后一个elemen
Jquery append oly getting last elemen in loop Rails
嗨,伙计们,我不在jquery,我遇到了这个问题,当用户加载文件时,我试图显示图像预览。我发现了一些帖子,但无法使其工作。它只显示最后一个图像
function readURL(input) {
if (input.files && input.files[0]) {
var counter = 0
var reader = new FileReader();
var img = '';
reader.onload = function (e) {
debugger
img.attr('src', e.target.result)
.width(150)
.height(150);
$('.test').append(img.clone());
console.log(img);
}
for(var i=0; i< input.files.length; i++){
img = $('<img id="dynamic'+i+'" style="margin-top : 5px; margin-right: 5px;">');
reader.readAsDataURL(input.files[i]);
counter++;
}
}
}
这是一块haml形式的
.form-group
= f.label :proyecto_imagenes, "Imágenes de proyecto", class: 'col-xs-2'
.col-xs-8
= f.file_field :imagenes, multiple: true
%br
.test
提前感谢
您可以使用闭包
function readURL(input) {
if (input.files && input.files.length > 0) {
for (var i = 0; i < input.files.length; i++) {
(function(i) {
var img = $('<img id="dynamic' + i + '" style="margin-top : 5px; margin-right: 5px;">');
var reader = new FileReader();
reader.onload = function(e) {
img.prop('src', e.target.result).width(150).height(150).appendTo('.test');
}
reader.readAsDataURL(input.files[i]);
})(i)
}
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" onchange="readURL(this)" multiple/>
<div class='test'></div>
我认为您需要将函数绑定到事件。类似于:
请注意变化:
.form-group
= f.label :proyecto_imagenes, "Imágenes de proyecto", class: 'col-xs-2 file-input'
.col-xs-8
= f.file_field :imagenes, multiple: true
%br
#test
这就是触发
$(function(){
$(".file-input").change(function(){
readURL(this);
});
})
你的功能:
var readURL = function(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#test').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
LE:我不建议你也添加javascript的样式,除非你别无选择。
相关文章:
- 表追加而不附加最后一个元素
- 无法在Ionic select中预先选择最后一个选项
- 为什么画布形状只在3个画布中的最后一个画布上渲染
- Jquery append oly获取循环Rails中的最后一个elemen
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- dataTables-如何自定义分页类型以显示最后一个页码后面的省略号,
- 多维关联数组的最后一个索引
- 无法获取vis.js最后一个或第一个选定的网络节点
- 循环以检查数组中的最后一个图像
- 从输入值中删除最后一个单词
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 如何从多个复选框中获取最后一个值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- 使用querySelector()获取最后一个td元素
- Foreach循环只返回最后一个值
- 通过将6个月添加到今天来获得最后一个月的日期's日期
- 如何使用JavaScript forloop从JSON中删除最后一个逗号
- 'mousemove'画布中的事件侦听器-指针仅在最后一个矩形中更改
- AngularJS多资源调用,只处理最后一个