Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.5k views
in Technique[技术] by (71.8m points)

layui 的两个问题,一直搞不定,求解!

一、如何初始化upload加入之前上传图的信息:
例如我之前把上传的几张图片的文件名存入了数据库,然后当我编辑时,如何把这几张图在upload.render时初始化成已经上传成功的图片?
二、当我用如:

for (var i=0;i<imgsarr.length;i++)
var TR = $([
  '<tr id="'+dq_id+'">', 
  '<td><img style="max-width:180px;" src="' + imgsrc(imgsarr[i]) + '" alt="' + imgsarr[i] + '" class="layui-upload-img"></td>', 
  '<td>原报价图</td>', 
  '<td>原报价图</td>', 
  '<td>原报价图</td>', 
  '<td><button type="button" class="layui-btn layui-btn-mini Up" id="Up'+dq_btn+'">上移</button>', 
    '<button type="button" class="layui-btn layui-btn-mini Down" id="Down'+dq_btn+'">下移</button>', 
    '<button type="button" class="layui-btn layui-btn-mini layui-btn-danger Del" id="Del'+dq_btn+'">删除</button></td>', 
  '</tr>'].join(''));

  TR.on("click",".Up",function(){
    var prevTR = TR.prev();
    if (prevTR) {
      prevTR.insertAfter(TR);
    }
    layer.msg('上移');
  });
  
  // ...
  
  $('#List').append(TR);
}

事件只有循环最后一次加载成功,之前的都不能加载成功,应该是组件未加载时不能配事件吧,但是如何搞定呢,求大神指点!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

问题一,就是使用img标签渲染即可,和你上面拼接的方法差不多

问题二,你说的事件看上去应该是每次都成功了。因为你每次的节点是对的。那么考虑两种方法

  1. 事件内部使用this,而不是TR
  2. 使用事件委托而不是直接绑定事件

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...