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

发布于 2022-09-12 13:31:25 字数 1106 浏览 15 评论 0

一、如何初始化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);
}

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笨笨の傻瓜 2022-09-19 13:31:25

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

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

  1. 事件内部使用this,而不是TR
  2. 使用事件委托而不是直接绑定事件
醉态萌生 2022-09-19 13:31:25
 TR.on("click",".Up",function(){
    layer.msg(i);//绑定后,这个i所有的事件都是i循环最后的那个值
  });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文