拖放区将动态属性追加到 #dz 删除
Dropzone append dynamic attributes to #dz-remove
我正在尝试在拖放区上实现已删除的文件。我正在使用rails,为了实现这一点,我必须向我的dz-move类添加一个id = 1
属性。
这是我当前的代码:
var dropzone = new Dropzone ("#my-dropzone", {
maxFiles: 50,
maxFilesize: 30,
paramName: "album[images][]",
addRemoveLinks: true,
uploadMultiple: true,
autoProcessQueue: false,
parallelUploads: 10,
processing: function(){
dropzone.options.autoProcessQueue = true;},
init: function(){
var thisDropZone = this;
$.getJSON('image_list', function(data) {
$.each(data, function(index, val) {
var mockFile = { name: val.name, size: val.size };
thisDropZone.emit("addedfile", mockFile);
thisDropZone.emit("thumbnail", mockFile, val.path);
thisDropZone.emit("complete", mockFile);
});
});
}
我试过这段代码:
success: function(file, response){
$(file.previewTemplate).find('.dz-remove').attr('id', response.fileID);
$(file.previewElement).addClass("dz-success");
}
文件ID是从我的图片控制器获取的:
if @picture.save
render json: { message: "success", fileID: @picture.id }, :status => 200
else
它可以工作,但是当我刷新浏览器时,属性id = 1
消失了。我还想分开我的上传和编辑页面。
我还尝试使用以下代码从 json 文件中获取 id 值:
init: function(){
var thisDropZone = this;
$.getJSON('image_list', function(data) {
$.each(data, function(index, val) {
var mockFile = { name: val.name, size: val.size };
thisDropZone.emit("addedfile", mockFile);
thisDropZone.emit("thumbnail", mockFile, val.path);
thisDropZone.emit("complete", mockFile);
$(".dz-remove").attr("id", val.id);
});
});
}
同样,这可以工作并为我的 html 添加一个永久的 id = 1
属性。但附加的 val.id 是恒定的。例如,如果我有 3 张图像:
<a href="javascript:undefined;" class: "dz-remove" data-dz-remove id="1">Remove</a>
<a href="javascript:undefined;" class: "dz-remove" data-dz-remove id="1">Remove</a>
<a href="javascript:undefined;" class: "dz-remove" data-dz-remove id="1">Remove</a>
我想要的输出是:
<a href="javascript:undefined;" class: "dz-remove" data-dz-remove id="1">Remove</a>
<a href="javascript:undefined;" class: "dz-remove" data-dz-remove id="2">Remove</a>
<a href="javascript:undefined;" class: "dz-remove" data-dz-remove id="3">Remove</a>
我也尝试了$(".dz-remove").each
但值仍然是恒定的而不是动态的。我也很困惑,因为当我console.log($(".dz-remove").attr("id", val.id))
控制台值正确附加(id=1, id=2, id=3
)。在html上,我得到的只是id=1
.
change $(".
dz-remove").attr("id", val.id); to$(".dz-remove").eq(index).attr("id", val.id);
$(".dz-remove") 返回元素数组,你想给当前添加 id,使用 eq(元素索引)
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 删除对HTML元素的拖动
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 按顺序添加和删除类
- iframe正在添加标签,需要删除它们
- 如何在HTML输入字段中添加不可删除的后缀
- addData()从最新图表中删除.js 2.1.3-怎么了
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 删除CKEditor工具栏按钮,但不删除功能
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- 正在删除node.js中已验证的网站
- 正在从页面中删除iframe
- 如何从 HTML 查询中删除项目
- 如何在iOS应用程序中从Firebase中删除超过6小时的数据
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 在不知道深度或父属性的情况下从对象中删除属性
- 拖放区将动态属性追加到 #dz 删除